如何在CakePHP中获取控制器内的基本URL

时间:2015-12-10 09:19:09

标签: cakephp cakephp-2.6

我正在使用CakePHP 2.6.7。我想得到以下网址:

www.mydomain.com/OrderFromReseller/82BC1562-22F9-4326-8B4B-370129710E8C

我试着:

$resellerURL = $this->webroot . 'OrderFromReseller/' . $this->request->data['Reseller']['api_key']; 

但是,当我回应$resellerURL它的值时,回声http://orderfromreseller/82BC1562-22F9-4326-8B4B-370129710E8C

是否有$this->webroot的替代方法可以在cakephp中正确获取基本网址?

2 个答案:

答案 0 :(得分:3)

您想使用Router::url()来获取完整的网址。例如,要获取主页的完整网址: -

Router::url('/', true);

只要您将true作为第二个参数传递,就可以将任何路由器数组作为第一个参数传递以获取完整的URL。例如: -

$url = Router::url(
    ['controller' => 'pages', 'action' => 'display', 'test'],
    true
);

答案 1 :(得分:0)

它在cakephp 3.5中为我工作,请按照以下代码

1)将此代码添加到namespace App\Controller;

下方的控制器顶部
use Cake\Routing\Router;

2)$baseUrl = Router::url('/', true);

这是在cakephp 3 +

中获取基本网址的最佳和最简单的方法