如何在 CakePHP 中获取控制器内部的基础 url
How to get base url inside controller in CakePHP
我正在使用 CakePHP 2.6.7。我想得到以下 url:
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 中正确获取基础 url?
您想使用 Router::url()
获得完整的 URL。例如获取主页的完整网址:-
Router::url('/', true);
您可以将任何路由器数组作为第一个参数传递以获得完整的 URL,只要您将 true
作为第二个参数传递。例如:-
$url = Router::url(
['controller' => 'pages', 'action' => 'display', 'test'],
true
);
它在 cakephp 3.5 中对我有用,请遵循以下代码
1) 在下面的控制器顶部添加此代码namespace App\Controller;
use Cake\Routing\Router;
2) $baseUrl = Router::url('/', true);
这是在 cakephp 3+
中获取基数 url 的最好和最简单的方法
我正在使用 CakePHP 2.6.7。我想得到以下 url:
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 中正确获取基础 url?
您想使用 Router::url()
获得完整的 URL。例如获取主页的完整网址:-
Router::url('/', true);
您可以将任何路由器数组作为第一个参数传递以获得完整的 URL,只要您将 true
作为第二个参数传递。例如:-
$url = Router::url(
['controller' => 'pages', 'action' => 'display', 'test'],
true
);
它在 cakephp 3.5 中对我有用,请遵循以下代码
1) 在下面的控制器顶部添加此代码namespace App\Controller;
use Cake\Routing\Router;
2) $baseUrl = Router::url('/', true);
这是在 cakephp 3+
中获取基数 url 的最好和最简单的方法