何らかの方法でコントローラデータを前処理する方法はありません。私はセッションからparamを取って、それを検証し、それをコントローラーのプロパティとして割り当て、いくつかのコントローラーのアクション内、または可能ならば$ this-> myVarとして使用するつもりです。コントローラのコンストラクタを使用すると何も表示されず、リクエストとセッションのデータにアクセスできませんでした。ありがとう!すべてのsymfony2コントローラにカスタムプロパティを追加
UPD: ありがとう、jkucharovic、非常に良い解決策。 また、$ controller = new Controller();の直後に呼び出されたsetContainer()メソッドも、注入することなく少し汚れたソリューションがあります。
use Symfony\Component\DependencyInjection\ContainerAwareInterface,
Symfony\Component\DependencyInjection\ContainerInterface;
class AppServiceController extends Controller {
private $my_property;
/**
* Used as constructor
*/
public function setContainer(ContainerInterface $container = null)
{
parent::setContainer($container);
$this->my_property = 'foo';
// your controller code
}
}
私はそれについていくつかの詳細を得ることができますか? – Tauquir
もちろん:-_)_ – jkucharovic
こんにちは。私はSymfony2.5と全く新しいものを使用しています。私があなたの答えを実装すると、次のエラーが発生します。 'キャッチ可能な致命的なエラー:引数1がFried \ FrameworkBundle \ Controller \ SectionController :: Controllerに渡されました:: __ construct()はSymfony \ Component \ HttpFoundation \ Requestのインスタンスでなければなりません。私はルートを通らなければならないかもしれないと信じています。私は間違っているかもしれません。コントローラーで2つの変数をどのように渡すことができますか教えてください。ありがとう。 – Nis