6

我正在一个类中构建一个 URL,如果以后有必要,我希望能够通过更改 routing.yml 文件来更改路由。

如果我有路线:

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

如何在类中使用url_for('userSignup')助手来动态创建 URL?

4

4 回答 4

13

我只用 1.2 试过这个,所以我不能代表任何以前的版本......

从您的任何课程中:

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

...然后您可以继续使用 url 帮助程序中定义的任何函数。

于 2009-06-10T01:07:08.317 回答
13

您无需在操作中使用视图助手来生成 url:

$this->generateUrl("userSignup");

该方法在sfComponent.class.php中定义。这是推荐的方法,而不是加载视图助手并使用它们的 hacky 解决方法。

于 2012-07-12T13:31:18.010 回答
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 回答