リクエストオブジェクトに格納されたデータにアクセスしたいが、私はアクションの外にいる。Symfonyのアクション外でリクエストオブジェクトにアクセスする方法
データを取得する方法はありますか?それは完全にあなたがしている何層に依存
リクエストオブジェクトに格納されたデータにアクセスしたいが、私はアクションの外にいる。Symfonyのアクション外でリクエストオブジェクトにアクセスする方法
データを取得する方法はありますか?それは完全にあなたがしている何層に依存
。
あなたは、(部分テンプレート、)ビューを表示している場合は自動的に変数が$sf_request
と呼ばれています。
他の人は、コンテキストシングルトンでそれを保持することができます:sfContext::getInstance()->getRequest()
。この問題は、何らかの理由でコンテキストが作成されていない場合に問題となることがあるということです。これはsfContext::hasInstance()
で確認できますが、コンテキストが存在しない場合は、この方法ではこのようにリクエストを取得できません。
リスナーで必要なレイヤー/オブジェクトにリクエストインスタンスをcontext.load_factories
に注入することもできます。ただし、これは、そのイベントがトリガーされた後(たとえば、コンテキストが初期化されたなど)、そのレイヤーを使用しているレイヤーがそうしている必要があります。
基本的に何イムはここで得ることは本当にあなたが「sfContextの使用に起因する必要があります
:-)コントローラの外部の要求にアクセスするための理由があるはずのことです::のgetInstance() - >のGetRequest () "? – Flukey
私はどこでもそれをやりたいと思います。あなたは本当に必要がありません。ビューのビューですでに利用可能になっていて、コントローラの設定ロジックか、 'context.load_factories'のリスナを介して注入することができます。しかし、コントローラレイヤーを超えて使用する必要があるものは何も考えられません。 – prodigitalson