Symfony2「カスタマイズ編(5) フォームクラスの作成」
フォームコントローラの生成
フォーム生成部の分離
【フォームクラスの作成】
Postエンティティに対するPostTypeフォームクラスの作成
$ mkdir src/My/BlogBundle/Form
$ vim src/My/BlogBundle/Form/PostType.php
namespace My\BlogBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class PostType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('title')
->add('body')
;
}
public function getDefaultOptions(array $options)
{
return array(
'data_class' => 'My\BlogBundle\Entity\Post',
);
}
public function getName()
{
return 'post';
}
}
【コントローラの修正】
Defaultコントローラの修正
$ vim src/My/BlogBundle/Controller/DefaultController.php
use My\BlogBundle\Form\PostType;
class DefaultController extends Controller
{
// ...
public function newAction()
{
// フォームのビルド
// $form = $this->createFormBuilder(new Post())
// ->add('title')
// ->add('body')
// ->getForm();
$form = $this->createForm(new PostType(), new Post());
// ...
}
// ...
public function editAction($id)
{
// ...
// フォームのビルド
// $form = $this->createFormBuilder($post)
// ->add('title')
// ->add('body')
// ->getForm();
$form = $this->createForm(new PostType(), $post);
// ...
}
// ...
}
【ブラウザで確認】
以前の動作と同様かを確認する
【参考】
ref. カスタマイズ編(5) フォームクラスの作成
12月 13 2011
Symfony2「カスタマイズ編(5) フォームクラスの作成」
Symfony2「カスタマイズ編(5) フォームクラスの作成」
フォームコントローラの生成
フォーム生成部の分離
【フォームクラスの作成】
Postエンティティに対するPostTypeフォームクラスの作成
【コントローラの修正】
Defaultコントローラの修正
【ブラウザで確認】
以前の動作と同様かを確認する
【参考】
ref. カスタマイズ編(5) フォームクラスの作成
By KYO • Symfony • • Tags: tutorial