コントローラにget要求タイプがありますか?どうやって?Symfony2コントローラでリクエストタイプ(マスタ/サブ)を取得する方法は?
11
A
答えて
12
要求がマスタであるかどうかを検出するには、コントローラに注入する必要があるRequestStack
を使用する必要があります。要求スタックは、現在の要求がマスターである場合getParentRequest()
は常にnullを返します3つの便利な方法
getCurrentRequest();
getMasterRequest();
getParentRequest();
を持っています。
0
簡単には、ちょうどあなたのRequest
オブジェクトにgetMethod()
メソッドを呼び出します。
$method = $this->get('request')->getMethod();
これは、例えば、現在の要求のHTTPメソッドを返します。 GET
,POST
,PUT
またはDELETE
である。
2
私はこれを自分で探していましたが、周りを回っているようですので、それが何であるかを知る単一の場所ではないようです。
これを解決するための私の考えは、要求に属性を追加するだけの単純なkernel.requestリスナーを作成することです。下のラフ(未テスト)コード:
public function onKernelRequest(GetResponseEvent $event)
{
$event->getRequest()->attributes->set('_request_type', $event->getRequestType());
}
次にコントローラにあなたが行うことができるはず:
$requestType = $this->getRequest()->attributes->get('_request_type');
これもテストされていません。完全なリスナークラスを書き、それをサービス設定ファイルに追加する必要がありますが、それ以外の場合はこれがうまくいくと思います。
関連する問題
- 1. Symfony2コントローラでファイルの絶対パスを取得する方法は?
- 2. symfony2ルートパラメータの取得(コントローラ引数とリクエスト)
- 3. symfony2のライブラリからコントローラ/ i18nオブジェクトを取得するには?
- 4. Symfony2コンソールアプリケーションでDoctrine ORMインスタンスを取得する方法は?
- 5. symfony2のフォームタイプクラスでdoctrineリポジトリを取得する方法は?
- 6. symfony2でファイルのパスを取得する方法は?
- 7. Symfony2:リスナー内でconfigパラメータを取得する方法は?
- 8. symfony2キャッシュされたルートをコントローラ内でリセットする方法は?
- 9. コントローラsymfony2の役割を取得するFOSUserBundle
- 10. ラジオボタンのsymfony2フォームでCSS情報を取得する方法
- 11. onKernelRequestイベントでsecurity.contextを取得する方法。 symfony2
- 12. jQuery.each()関数でサブプロパティを取得する方法は?コントローラで
- 13. Magentoコントローラでurlパラメータを取得する方法は?
- 14. コントローラでプロセスインスタンスのIDを取得する方法は?
- 15. コントローラでビューの値を取得する方法は?
- 16. Symfony2ジェネリックオブジェクトからDoctrine EntityManagerを取得する方法
- 17. Symfony2 - REST APIのテスト中にカスタムヘッダーを取得する方法
- 18. Symfony2/Doctrine2エンティティでの、SluggableとTimestampableの動作を取得する方法は?
- 19. Angular jsデータ・ロム・コントローラをhtmlテンプレートに取得する方法は?
- 20. 角度サービスからコントローラにデータを取得する方法は?
- 21. Spring MVC:コントローラへのファイルパスを取得する方法は?
- 22. コントローラ内のデータバインディングから1アイテムを取得する方法は?
- 23. CakePHP - コントローラ/アクションパスを簡単に取得する方法は?
- 24. htmlフォームの名前をコントローラに取得する方法は?
- 25. 他のコントローラからコントローラの応答を取得する方法は?
- 26. AngularJS:コントローラでビューポートデータを取得する方法
- 27. UIPageViewControllerで現在のコントローラを取得する方法
- 28. spring mvcでコントローラにフォーム値を取得する方法
- 29. ASP.NET MVC APIコントローラでユーザIPを取得する方法
- 30. twig /コントローラで 'products'を表示/取得する方法
Noo。私は:このリクエストマスターかサブリクエストですか? – Koc
ああ、申し訳ありません。この場合、 'kernel.request'イベントにフックし、' $ event-> getRequestType() 'が' HttpKernelInterface :: MASTER_REQUEST'または 'HttpKernelInterface :: SUB_REQUEST'と等しいかどうかを確認する必要があります。 – igorw
@ gorw、あなたは更新して、あなたがあなたのコメントに投稿した回答を投稿し、upvotedすることができます。人々は質問に答えることのできない答えをあきらめない。 – Quentin