2

各コントローラー内で繰り返されるコードがあり、DefaultController.php非常にイライラします。追加する新しいコントローラーごとにコピーして貼り付けるのではなく、一度どこかに置くことはできますか?

4

2 に答える 2

3

各コントローラーアクションの開始時にコードを実行する必要がある場合は、コードが コントローラーにディスパッチされる前に発生するKernelEvent kernel.controllerイベントのハンドラーを作成することをお勧めします。

コードをアクションコードのどこかで実行する必要がある場合は、独自のイベントを作成して、そのハンドラーを作成できます。コントローラと必要なすべてのデータをカスタムイベントオブジェクトに追加できます。

于 2012-04-11T09:38:32.943 に答える
0

私もまったく同じものを持っています。

コントローラーの各アクションでパーミッションを管理するために、サービスを呼び出しています

$this->permissions =$this->get('vendor.permissions')->checkPermission('BundleName','Profil','select',$this);
于 2012-04-12T12:17:53.443 に答える