Abdus Sattar Bhuiyan
Abdus Sattar Bhuiyan

Reputation: 3074

Class 'Router' not found in 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.

Upvotes: 2

Views: 7529

Answers (1)

ndm
ndm

Reputation: 60453

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

Upvotes: 8

Related Questions