クラス内に URL を作成していますが、必要に応じて後で routing.yml ファイルを変更するだけでルーティングを変更できるようにしたいと考えています。
ルートがある場合:
userSignup:
url: /user/signup
param: { module: user, action: signup }
クラスでurl_for('userSignup')ヘルパーを使用して URL を動的に作成するにはどうすればよいですか?
クラス内に URL を作成していますが、必要に応じて後で routing.yml ファイルを変更するだけでルーティングを変更できるようにしたいと考えています。
ルートがある場合:
userSignup:
url: /user/signup
param: { module: user, action: signup }
クラスでurl_for('userSignup')ヘルパーを使用して URL を動的に作成するにはどうすればよいですか?
アクションでビュー ヘルパーを使用して 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'));