symfonyにおいて、どのように私はクラスでなurl_forヘルパーを使用することができますか?
-
13-09-2019 - |
質問
私はクラスの内部でURLを構築していると私はただのrouting.ymlファイルを変更することにより、後で必要に応じてルーティングを変更することができるようにしたいと思います。
私はルートを持っている場合:
userSignup:
url: /user/signup
param: { module: user, action: signup }
私は動的URLを作成するために、クラスでのなurl_for( 'userSignup')のヘルパーを使用することができますどのように?
解決
URLを生成するために、あなたのアクションでビューヘルパーを使用する必要はありません。
$this->generateUrl("userSignup");
の方法は sfComponent.class.php <で定義されています/>。これは推奨される方法ではなく、ビューヘルパーをロードし、それらを使用するハック回避策です。
他のヒント
私は...そう、私は以前のバージョンのために話すことができない1.2でこれを試してみました。
あなたのクラスのいずれかから:
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url'));
...そしてあなたは、URLヘルパーで定義された関数のいずれかを使用し続けることができます。
あなたが使用する必要があります。
sfLoader::loadHelpers(array('Url'));
あなたは、取得するために、 sfContext::getInstance()
を使うべきではありません設定ます。
// instead of using
sfContext::getInstance()->getConfiguration()->loadHelpers('Url');
// use
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));
所属していません StackOverflow