10

TLDR:如何在控制器中创建 URL,类似于使用 HtmlHelper 在视图中创建 URL?


问题:

我想在我的控制器中打印控制器操作的 url(因为我在控制器中创建我的 JSON 字符串,而不是在视图中)

在 aView中,我可以使用$this->Html->url(),但是在 Controller 中呢?

我应该使用定义的常量,例如APP_DIR+ 控制器名称 + 控制器操作吗?)

4

1 回答 1

37

使用路由器类。

$url = Router::url([
    'controller' => 'Articles',
    'action' => 'index',
    '?' => ['page' => 1],
    '#' => 'top'
]);

或同样的事情,但在更常见/更简单的情况下:

$url = Router::url(['controller' => 'Articles', 'action' => 'index']);

注意:在 Cake2.x 中,“Articles”是小写的。


CakePHP 2.x 路由器文档

CakePHP 3.x “生成 URL” 文档

于 2012-08-11T14:57:50.797 回答