在我的Symfony 3主項目,我用這個代碼在一個控制器來創建表單:Symfony的3 - 定義形式作爲服務
$form = $this->createForm(ApplicantType::class, $applicant);
現在,我決定做一個服務了這種形式,所以我可以在裏面使用EntityManager。因此,在Symfony2.x,這將是很容易的,只是在services.yml聲明,這行代碼:
$form = $this->createForm($this->get("applicant.form"), $applicant);
但是,這已不再可能在Symfony的3,因爲這第一個參數期望字符串,而不是表單本身。
所以我的問題是:我如何在Symfony 3中創建表單作爲服務,或者是否有任何其他方式如何將EntityManager傳遞給表單?
謝謝你的幫助!
將您的服務標記爲表單,然後傳遞別名。 http://symfony.com/doc/current/cookbook/form/create_custom_field_type.html#creating-your-field-type-as-a-service。應該像S2一樣工作。 – Cerad
你試過這個:'$ form = $ this-> createForm(「applicant.form」,$申請者);'? – Matteo