2009-06-10 100 views
6

我在一個類的內部構建了一個URL,我希望稍後能夠通過更改routing.yml文件來更改路由。在Symfony中,我如何在類中使用url_for helper?

如果我的路線:

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

我如何使用url_for(「userSignup」)助手一類動態創建的網址是什麼?

回答

11

你並不需要使用視圖助手在你的行動來生成一個URL:

$this->generateUrl("userSignup"); 

方法在sfComponent.class.php定義。這是推薦的方式,而不是加載視圖助手並使用它們的方法。

12

我只是試圖與1.2,所以我不能對任何先前的版本說...

從任何類:

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

...那麼你就可以繼續使用任何在url幫助器中定義的函數。

+1

是的,這就像在1.2的魅力。但我確實得到了 - \t sfLoader :: loadHelpers()方法已被棄用。請使用sfApplicationConfiguration中的相同方法。 – Failpunk 2009-06-10 02:11:19

0

您不應該使用sfContext::getInstance()來檢索配置。

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

// use 
sfApplicationConfiguration::getActive()->loadHelpers(array('Url')); 
0

你應該使用

sfLoader::loadHelpers(array('Url'));