我正在關注這個tutorial,我所要做的就是製作一個簡單的表單。我有自定義的自舉Symfony2的組件(我基本上是用幾乎所有的東西,而不FrameworkBundle),所以我有這樣的代碼:Symfony2 Forms Without a Class
$defaultData = array('message' => 'Type your message here');
$form = Forms::createFormFactory()->createBuilder($defaultData)
->add('name', 'text')
->add('email', 'email')
->add('message', 'textarea')
->add('send', 'submit')
->getForm();
你可以看到,唯一的區別是怎麼了獲得formfactory實例。 下面是我得到不過作爲一個錯誤:
Uncaught exception 'Symfony\Component\Form\Exception\UnexpectedTypeException' with message 'Expected argument of type "string, Symfony\Component\Form\ResolvedFormTypeInterface or Symfony\Component\Form\FormTypeInterface", "array" given' in
什麼我做錯了任何想法?謝謝!
如果你按照教程,你爲什麼要使用'形式:: createFormFactory() - > createBuilder($ defaultData)'和'不是這 - $> createFormBuilder($ defaultData)'? – sjagr 2015-02-09 21:13:07
我正在閱讀教程以獲得這個想法,正如我所說我是自定義的增強組件。但是,如果你閱讀控制器的方法,這個$ this-> container-> get('form.factory') - > createBuilder('form',$ data,$ options); ,它基本上調用Form Factory服務,我相信這將等於Forms :: createFormFactory(),然後它調用createBuilder(檢查我的代碼),以便我看不出它們之間的差異。 – gentec 2015-02-09 21:17:23
從這裏開始建議:http://symfony.com/doc/current/components/form/introduction.html#creating-a-simple-form其中討論了獨立組件。讓示例工作,然後可能添加一些東西。 – Cerad 2015-02-09 23:32:32