2014-02-18 48 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(); 
相关问题