0

我对silex和symfony真的很陌生。这是我第一次涉足silex。我有一些代码在我的 app.php 文件中创建了我的表单,这些代码通过一些黑客攻击以及从文档中复制和粘贴。

现在我如何将这些数据传递到另一个页面?

我想创建一个只转储 post/get 数组的页面,让我了解如何传递 get/post 变量。

这是我的应用程序文件的一部分:

<?php
/** /src/app.php */
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;

    /**
     * Register new application
     */
    $app = new Application();
    // skip to the form part ...
        $app->match('/', function (Request $request) use ($app) {
            // some default data for when the form is displayed the first time
            $data = array(
                'name' => 'Your name',
                'email' => 'Your email',
            );

            $form = $app['form.factory']->createBuilder('form', $data)
                ->add('name')
                ->add('email')
                ->add('gender', 'choice', array(
                    'choices' => array(1 => 'male', 2 => 'female'),
                    'expanded' => true,
                ))
                ->getForm();

            if ('POST' == $request->getMethod()) {
                $form->bindRequest($request);

                if ($form->isValid()) {
                    $data = $form->getData();

                    // do something with the data

                    // redirect somewhere
                    return $app->redirect('completed');
                }
            }

            // display the form
            return $app['twig']->render('index.html', array('form' => $form->createView()));
        });

然后我会创建一个这样的页面吗?

<?php  // app.php  
    $app->match('complete') use function ($app) {
          // sorry psuedocode
         foreach ($REQUEST as $key=> $var) {
         echo "$key: $var";
         }
        }
4

1 回答 1

3

您可以尝试使用前锋。http://silex.sensiolabs.org/doc/usage.html#fowards

// where params is the values from your POST
$subRequest = Request::create('/otherpage', 'GET', $params);

return $app->handle($subRequest, HttpKernelInterface::SUB_REQUEST);
于 2012-07-20T07:51:59.243 回答