Symfony 2.1 で簡単な連絡先フォームを作成したいだけです。どのように?
ContactForm.php:
namespace frontend\mainBundle\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilder;
class ContactForm extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('subject', 'textarea');
$builder->add('email', 'email');
$builder->add('message', 'textarea');
}
public function getName()
{
return 'contact';
}
}
DefaultController.php
namespace frontend\mainBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use mylib\DataFormatChecker;
use frontend\mainBundle\Form\ContactForm;
use Symfony\Component\HttpFoundation\Request;
class DefaultController extends Controller
{
public function contactAction(Request $request)
{
$task = array();
$form = $this->createFormBuilder(new ContactForm(), $task);
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
if ($form->isValid()) {
// perform some action, such as saving the task to the database
//return $this->redirect($this->generateUrl('task_success'));
}
}
return $this->render('frontendmainBundle:Default:contact.html.php', array(
'form' => $form->createView()
));
}
}
エラー: frontend\mainBundle\Form\ContactForm::buildForm() の宣言は、ContactForm の 8 行目の Symfony\Component\Form\FormTypeInterface::buildForm(Symfony\Component\Form\FormBuilderInterface $builder, array $options) と互換性がある必要があります.php。
なにが問題ですか?
申し訳ありませんが、symfony 1.4 に使用されていました