Class 'Router' 在 cakephp 3 中找不到

Class 'Router' not found in cakephp 3

我正在将我的 cakephp 版本从 2.6.7 升级到 3.3.4。以下代码可以正常工作以引用房屋 url:

<?php echo Router::url('/', true); ?>

但这在 cakephp 3.3.4 中不起作用,它显示以下错误消息:

Error: Class 'Router' not found 

我错过了什么?提前致谢。

您需要熟悉 PHP 命名空间。 Router class 位于 Cake\Routing 命名空间中,因此您必须使用:

\Cake\Routing\Router::url()

或导入 class:

use Cake\Routing\Router;

话虽这么说,在您看来,您可能想改用 Url 助手(正如 Jacek B Budzynski 在评论中提到的那样),以避免对 Router class:

$this->Url->build('/', true)

另见