Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp插件前缀不工作_Php_Cakephp_Plugins_Prefix - Fatal编程技术网

Cakephp插件前缀不工作

Cakephp插件前缀不工作,php,cakephp,plugins,prefix,Php,Cakephp,Plugins,Prefix,我正在创建一个Cakephp(3.5.14)插件,它可以很好地处理以下给定的路由 plugins/timesheet/config/routes.php Router::plugin( 'Timesheet', ['path' => '/timesheets'], function (RouteBuilder $routes) { $routes->setExtensions(['json']); $routes->connect('/', [

我正在创建一个Cakephp(3.5.14)插件,它可以很好地处理以下给定的路由 plugins/timesheet/config/routes.php

Router::plugin(
        'Timesheet', ['path' => '/timesheets'], function (RouteBuilder $routes) {
    $routes->setExtensions(['json']);

    $routes->connect('/', ['controller' => 'Timesheets', 'action' => 'index']);
    $routes->connect('/edit', ['controller' => 'Timesheets', 'action' => 'edit']);
    $routes->connect('/add', ['controller' => 'Timesheets', 'action' => 'add']);

    $routes->fallbacks(DashedRoute::class);
$routes->scope('/backend', function ($routes) {
        $routes->loadPlugin('Timesheet');
    });
根据我在中添加的文档 项目src/config/routes.php

Router::plugin(
        'Timesheet', ['path' => '/timesheets'], function (RouteBuilder $routes) {
    $routes->setExtensions(['json']);

    $routes->connect('/', ['controller' => 'Timesheets', 'action' => 'index']);
    $routes->connect('/edit', ['controller' => 'Timesheets', 'action' => 'edit']);
    $routes->connect('/add', ['controller' => 'Timesheets', 'action' => 'add']);

    $routes->fallbacks(DashedRoute::class);
$routes->scope('/backend', function ($routes) {
        $routes->loadPlugin('Timesheet');
    });
但不知怎么的,它不起作用

我的URL:www.xxx.com/backend/timesheets

错误:找不到BackendController

如果您试图访问插件控制器,请确保将其添加到composer文件中,或者使用插件的自动加载选项

错误:在以下文件中创建类BackendController:src\Controller\BackendController.php

使用App\Controller\AppController

类BackendController扩展了AppController {

}

堆栈跟踪:

⟩ Cake\Http\ControllerFactory->missingController
CORE\src\Http\ControllerFactory.php, line 38
⟩ Cake\Http\ControllerFactory->create
CORE\src\Http\ActionDispatcher.php, line 90
⟩ Cake\Http\ActionDispatcher->dispatch
CORE\src\Http\BaseApplication.php, line 108
⟩ Cake\Http\BaseApplication->__invoke
CORE\src\Http\Runner.php, line 65
⟩ Cake\Http\Runner->__invoke
CORE\src\Routing\Middleware\RoutingMiddleware.php, line 104
⟩ Cake\Routing\Middleware\RoutingMiddleware->__invoke
CORE\src\Http\Runner.php, line 65
⟩ Cake\Http\Runner->__invoke
CORE\src\Routing\Middleware\AssetMiddleware.php, line 88
⟩ Cake\Routing\Middleware\AssetMiddleware->__invoke
CORE\src\Http\Runner.php, line 65
⟩ Cake\Http\Runner->__invoke
CORE\src\Error\Middleware\ErrorHandlerMiddleware.php, line 98
⟩ Cake\Error\Middleware\ErrorHandlerMiddleware->__invoke
CORE\src\Http\Runner.php, line 65
⟩ Cake\Http\Runner->__invoke
ROOT\vendor\cakephp\debug_kit\src\Middleware\DebugKitMiddleware.php, line 52
⟩ DebugKit\Middleware\DebugKitMiddleware->__invoke
CORE\src\Http\Runner.php, line 65
⟩ Cake\Http\Runner->__invoke
CORE\src\Http\Runner.php, line 51
⟩ Cake\Http\Runner->run
CORE\src\Http\Server.php, line 81
⟩ Cake\Http\Server->run
ROOT\webroot\index.php, line 40

提前感谢。

检查应用程序中连接的其他路由,很可能有一个较早连接的路由捕获了请求,可能是一个查找类似于
/:controller/:action
(显式或作为备用路由)的路由,因此,它使用
后端
部分作为控制器

您可以通过以下方式轻松获取所有已连接路由的列表: