6

クラス内に URL を作成していますが、必要に応じて後で routing.yml ファイルを変更するだけでルーティングを変更できるようにしたいと考えています。

ルートがある場合:

userSignup:
  url:   /user/signup
  param: { module: user, action: signup }

クラスでurl_for('userSignup')ヘルパーを使用して URL を動的に作成するにはどうすればよいですか?

4

4 に答える 4

13

アクションでビュー ヘルパーを使用して URL を生成する必要はありません。

$this->generateUrl("userSignup");

メソッドはsfComponent.class.phpで定義されています。これは推奨される方法であり、ビュー ヘルパーを読み込んで使用するハックな回避策ではありません。

于 2012-07-12T13:31:18.010 に答える
13

これは1.2でしか試していないので、以前のバージョンについては言えません...

任意のクラスから:

sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url'));

...その後、url ヘルパーで定義された関数のいずれかを使用して続行できます。

于 2009-06-10T01:07:08.317 に答える
1

あなたが使用する必要があります

sfLoader::loadHelpers(array('Url'));
于 2015-08-05T09:10:59.900 に答える
0

sfContext::getInstance()構成の取得には使用しないでください。

// instead of using
sfContext::getInstance()->getConfiguration()->loadHelpers('Url');

// use 
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));
于 2012-07-12T11:58:08.847 に答える