0
フォームを作成するクラスの中でメソッドを呼び出す必要があります。しかし、私はこのエラーが発生します。フォームを作成しているときにnullのメンバー関数get()を呼び出す
Error: Call to a member function get() on null
これはフォーム操作を処理するクラスです。
class CommentController extends Controller
{
public function replyAction()
{
$comment = new Comments();
$form = $this->createFormBuilder($comment)
->add('name', TextType::class)
->add('text', TextType::class)
->add('reply', SubmitType::class, array(
'label' => 'Reply'))
->getForm();
return $this->$form;
}
}
と、これは私はそれが私がクラスにreplyAction
コードを配置した場合、私はからそれを呼び出していますが、私は別の内部でそれを持ちたいという働き
$form = (new CommentController())->replyAction();
別のクラスからメソッドを呼び出す方法ですクラス。
本当にあなたには関係ないと思いますが、確信しています...あなたのformBuilderはあなたのコントローラにありますか?もしそうなら、なぜですか? – Preciel
コントローラを次のように別のクラスから呼び出す場合は、サービスとして定義してください。http://stackoverflow.com/questions/31366074/how-exactly-can-i-define-a-controller-as- service-using-annotations –
formTypeクラスを作成します。http://symfony.com/doc/current/forms.html#creating-form-classes –