在Cakephp 3中找不到“路由器”类
问题描述:
I am upgrading my cakephp version from 2.6.7 to 3.3.4. The following code was properly working to refer the home url:
<?php echo Router::url('/', true); ?>
But this not working in cakephp 3.3.4 and it shows the following error message:
Error: Class 'Router' not found
Which I missed? Thanks in advance.
我正在将cakephp版本从2.6.7升级到3.3.4。 以下代码正确地工作以引用主页: p>
&lt;?php echo Router :: url('/',true); ?&gt;
code> pre>
但这在cakephp 3.3.4中无效,它显示以下错误消息: p>
错误:未找到类'路由器'
code> pre>
我错过了什么? 提前致谢。 p>
div>
答
You need to make yourself comfortable with PHP namespaces. The Router
class lives in the Cake\Routing
namespace, hence you have to use either:
\Cake\Routing\Router::url()
or import the class:
use Cake\Routing\Router;
That being said, in your views you may want to use the Url
helper instead (as mentioned by Jacek B Budzynski in the comments), in order to avoid the hard dependency on the Router
class:
$this->Url->build('/', true)
See also