2014-02-18 80 views
1

我是新來爾康和我需要幫助,因爲我無法找到一個辦法讓全路徑URL(和電子郵件信息中添加它),如: 「http://phalcon.mydomain.com/auth/confirmRegistration如何獲得完整的路徑URL中phalconphp

最讓我能得到的是「/認證/ confirmRegistration」使用

$this->url->getStatic('auth/confirmRegistration')

有可能是在功能上構建,但我不能發現它,也許我應該把「http://phalcon.mydomain.com」部分中全局變量?

謝謝你提前

回答

2

你可以做兩件事。每documentation你可以設置全域網址:

<?php 

$url = new Phalcon\Mvc\Url(); 

//Setting a relative base URI 
$url->setBaseUri('/invo/'); 

//Setting a full domain as base URI 
$url->setBaseUri('//my.domain.com/'); 

//Setting a full domain as base URI 
$url->setBaseUri('http://my.domain.com/my-app/'); 

或者你可以簡單地使用HTTP_HOST/SERVER_NAME來獲取主機的名稱和追加它的其餘部分,例如:

echo 'http://' . $_SERVER['SERVER_NAME'] . '/auth/confirmRegistration'; 
+0

感謝您的回覆, 您的兩個建議,做工精細,但我實際使用(迄今爲止)的另一種選擇: define('BASE_URL','http://phalcon.mydomain.com'); 由你的經驗,你會建議其中之一出於特定的原因? – humugus

+0

您的BASE_URL已在$ _SERVER ['SERVER_NAME']中定義,除非您想爲此使用不同的值。而且,這個值很可能會在你的開發和生產之間改變,所以你需要密切關注它。除此之外,這個解決方案非常好。我不會使用'$ url-> setBaseUri('http://my.domain.com/my-app/')',因爲它會影響所有其他生成的網址,我個人不希望這樣。 –

9

這裏有一個簡單的方法來獲得當前頁面的爾康的網址:

echo $this->router->getRewriteUri(); 
相關問題