CakePHP 3 升级到 4 - 路由丢失?

问题描述 投票:0回答:1

我正在尝试将 CakePHP 3 项目升级到 CakePHP 4。已完成所有更新文件的迁移步骤,但当我启动程序时,它只显示:

Fatal error: Uncaught Error: Class "Cake\Routing\Router" not found in C:\laragon\www\bakeboss\vendor\cakephp\cakephp\config\bootstrap.php:26 Stack trace: #0 C:\laragon\www\bakeboss\config\bootstrap.php(32): require() #1 C:\laragon\www\bakeboss\webroot\index.php(27): require('C:\\laragon\\www\\...') #2 {main} thrown in C:\laragon\www\bakeboss\vendor\cakephp\cakephp\config\bootstrap.php on line 26

如果我进入引发错误的文件,它看起来像这样:

use Cake\Routing\Router;

/**
 * @var float
 */
define('TIME_START', microtime(true));

require CAKE . 'basics.php';

// Sets the initial router state so future reloads work.
Router::reload();

它是“Router::reload();”这导致了错误,但正如您所看到的,它确实使用了 Routing\Router 命名空间,并且我的 IDE 可以很好地找到文件和类...?但由于某种原因,它不起作用..?

有人知道我可以尝试什么吗?

php cakephp
1个回答
0
投票

在 bootstrap.php 中首先从 Cake core 加载 paths.php、autoload.php 和 bootstrap.php:

require __DIR__ . '/paths.php';

// Use composer to load the autoloader.
require ROOT . DS . 'vendor' . DS . 'autoload.php';

require CORE_PATH . 'config' . DS . 'bootstrap.php';

use Cake\Routing\Router;

Router::reload();
© www.soinside.com 2019 - 2024. All rights reserved.