2

すべてのコントローラー アクションをインターセプトし、次の 2 つのいずれかを実行します (オプションに応じて - この例では、URL のクエリ文字列値を指定します)。

(1) テンプレートをレンダリングする代わりに、変数だけの配列を返す

(2) テンプレートを正確にレンダリングしますが、そのテンプレート内の「拡張」アクションは無視します

この理由は、同じサーバー側コードを使用すると、オプション 1 では Ajax リクエストなどの変数を返すだけで済み、オプション 2 では HTML の完全な部分ではなく (Ajax の場合) コンテンツ部分だけを返すことができるためです。ナビゲーションなどの HTML

コントローラーを拡張しようとしましたが、「Symfony\Bundle\FrameworkBundle\Controller\Controller と一致しない」という厄介な問題が発生し続けました。

イベントリスナーを使用してみましたが、これは私に近づいたようですが、コントローラーイベントをリッスンしても実際にコントローラーが実行されるとは思いません。

これは簡単なはずですよね?

4

1 に答える 1

1

この目的のために、FOSRestBundle またはその一部のみを使用できます。

README.md から:

出力とフォーマットに依存しないコントローラーを有効にするビューレイヤー

https://github.com/FriendsOfSymfony/FOSRestBundle

于 2013-04-07T07:23:45.567 に答える