0

URLまたはルートが呼び出されるたびにセッション処理コードを実行したいのですが、必要なコントローラーでこのセッション変数にアクセスできるようにしたいのは明らかです。これが私のバンドルのフロントコントローラーにあると仮定するのは間違っていますか?

...Bundle.phpバンドルのルートにあるファイルsrcDefaultController.php(コンストラクターを作成した)などにいくつかの変数を入れてみました。何も機能しません。

どうすればいくつかのコードを実行し、すべてのルートにいくつかの変数を設定できますか?


ノート:

  • 私はMVCとSymfony2を初めて使用します。
  • 「すべてのルート」==私が話しているバンドル内のすべてのコントローラー
4

2 に答える 2

3

これをカーネルイベントリスナーとして実装し、それにセッションを挿入することをお勧めします。

詳細:

http://symfony.com/doc/current/cookbook/service_container/event_listener.htmlを見ると、イベントリスナーを登録する方法がわかります。

基本的に、このメソッドを使用して、システムが起動するたびに実行されるカーネルイベントリスナーを作成し、セッション(ymlでは@session)を挿入して必要な処理を実行します。

于 2012-09-06T13:45:30.030 に答える
0

カーネルイベントkernel.requesthttp://symfony.com/doc/current/book/internals.html#eventsを調べ ます

イベントに精通していない場合は、http://symfony.com/doc/current/components/event_dispatcher/introduction.htmlを調べてください。

于 2012-09-06T13:46:18.100 に答える