Я обновляю свою версию cakephp с 2.6.7 до 3.3.4. Следующий код работал правильно для ссылки на домашний URL:
<?php echo Router::url('/', true); ?>
Но это не работает в cakephp 3.3.4 и показывает следующее сообщение об ошибке:
Error: Class 'Router' not found
Что я пропустил? Заранее спасибо.
Вы должны чувствовать себя комфортно с пространствами имен PHP. Router
класс живет в Cake\Routing
namespace, следовательно, вы должны использовать либо:
\Cake\Routing\Router::url()
или импортировать класс:
use Cake\Routing\Router;
При этом, по вашему мнению, вы можете использовать Url
вместо этого помощник (как упомянуто Яцеком Б. Будзинским в комментариях), чтобы избежать жесткой зависимости от Router
учебный класс:
$this->Url->build('/', true)
Смотрите также
Других решений пока нет …