我正在一个类中构建一个URL,我希望以后可以通过更改routing.yml文件来更改路由。
如果我有路线:
userSignup:
url: /user/signup
param: { module: user, action: signup }
如何在类中使用 url_for('userSignup')帮助程序动态创建网址?
答案 0 :(得分:12)
我只用1.2试过这个,所以我不能说任何以前的版本......
来自任何课程:
sfContext::getInstance()->getConfiguration()->loadHelpers(array('Url'));
...然后你可以继续使用url helper中定义的任何函数。
答案 1 :(得分:11)
您无需在操作中使用视图助手来生成网址:
$this->generateUrl("userSignup");
该方法在sfComponent.class.php中定义。这是推荐的方法,而不是加载视图助手并使用它们的hacky解决方法。
答案 2 :(得分:1)
你应该使用
sfLoader::loadHelpers(array('Url'));
答案 3 :(得分:0)
您不应使用sfContext::getInstance()
来检索配置。
// instead of using
sfContext::getInstance()->getConfiguration()->loadHelpers('Url');
// use
sfApplicationConfiguration::getActive()->loadHelpers(array('Url'));