【问题标题】:How to get full path URL in phalconphp如何在 phalconphp 中获取完整路径 URL
【发布时间】:2014-02-18 14:08:42
【问题描述】:

我是 phalcon 的新手,我需要帮助,因为我找不到获取完整路径 url 的方法(并将其添加到电子邮件中),例如: "http://phalcon.mydomain.com/auth/confirmRegistration"

我能得到的最多是“/auth/confirmRegistration”

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

可能有一个内置函数,但我找不到它,或者我应该将“http://phalcon.mydomain.com”部分放在全局变量中??

提前谢谢你

【问题讨论】:

    标签: phalcon


    【解决方案1】:

    这里有一个简单的方法来获取Phalcon中当前页面的url:

    echo $this->router->getRewriteUri();
    

    【讨论】:

      【解决方案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';
      

      【讨论】:

      • 感谢您的回复,您的两个建议都很好,但我实际上(到目前为止)使用了另一个选项:define('BASE_URL', 'phalcon.mydomain.com');根据您的经验,您会出于特定原因推荐其中一个吗?
      • 您的 BASE_URL 已在 $_SERVER['SERVER_NAME'] 中定义,除非您想为此使用不同的值。此外,此值可能会在您的开发和生产之间发生变化,因此您需要密切关注它。除此之外,这个解决方案非常好。我不会使用$url-&gt;setBaseUri('http://my.domain.com/my-app/'),因为它会影响所有其他生成的 url,我个人不希望这样。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-16
      • 2018-04-13
      • 2012-05-16
      相关资源
      最近更新 更多