Silex:如何在创建实例后添加元素?

时间:2013-12-01 02:07:49

标签: php forms silex

我想向表单实例添加元素,但我的语法错误,有没有办法做到这一点?

$app->match('admin/profile/update/{type}', function ($type, Request $request) use ($app)
{
    $data =  array();
    $form = $app['form.factory']->createBuilder('form', $data);
    if ($type === 'personal') {
      $form->add('name');
      $form->add('username');
    }
    if ($type === 'password') {
      $form->add('old_password');
      $form->add('new_password');
      $form->add('repeat_password');
    }
      ->getForm();

    ///......
})->bind('admin_profile_update');

此致

1 个答案:

答案 0 :(得分:0)

<?php
    $app->match(
        'admin/profile/update/{type}',
        function ($type, Request $request) use ($app) {
            $data = array();
            $builder = $app['form.factory']->createBuilder('form', $data);

            if ($type === 'personal') {
                $builder->add('name');
                $builder->add('username');
            }

            if ($type === 'password') {
                $builder->add('old_password');
                $builder->add('new_password');
                $builder->add('repeat_password');
            }

            $form = $builder->getForm();
        }
    )->bind('admin_profile_update');
?>