2017-10-26 6 views
0

ProductController::__construct()から基本メソッドを呼び出しています。DoctrineBundleがベースコントローラのアプリケーションに登録されていません

ProductControllerは、BaseControllerです。

BaseControllerは、Controllerです。それは私に蛇腹画像に見られる

Error: Call to a member function has() on null -- The DoctrineBundle is not registered in your application.

を示している$this->getDoctrine()実行中

ベロー線BaseController

use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

で存在もあります。

私はsymfonyの基本コントローラクラスはメソッドsetContainerを持ってContainerAwareInterfaceインタフェースを実装symfonyの2.7

The DoctrineBundle is not registered in your application on $this->getDoctrine()

+0

'app/config/config.yml'ファイルを追加してください – Mcsky

+0

https://www.i.imgur.com/iKhVvSy.jpg https://www.i.imgur.com/nQRBqHH.jpg https:/ /www.i.imgur.com/55kQp4b.jpg @Mcsky –

答えて

1

で働いています。このコントローラーをSymfony経由で通常の方法で使用する場合、このインターフェースを使用して、フードの下にサービスコンテナを割り当てます。

コントローラインスタンスを手動で作成する場合は、それを自分で処理する必要があります。

$containerフィールドがsetContainerメソッドで設定されています。だからこそあなたが得ているのです

Call to a member function has() on null

まだ設定されていないためです。

+0

これで私を助けてください。どうすればコンテナを設定できますか?どこに設定するのですか? –

+0

'$ controllerInstance-> setContainer($ container)' ;-)コントローラのインスタンスをどのようなコンテキストで作成するのか分かりませんので、細かいところで手伝ってください。一般に、サービスコンテナのインスタンスを作成し、それを作成した直後にコントローラの 'setContainer'メソッドに渡します。 –

+0

まだ私のために働かなかった。または私は何をすべきかを知りません。 $ containerの初期化を示すサンプルコードを共有できますか?これは参考になるかもしれません。 –

関連する問題