Cakephp 3.6-缺少控制器错误

Cakephp 3.6-缺少控制器错误,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,我有这个错误,这似乎是没有道理的。我正在使用这个插件:。我在创建和管理路线的需要。然而,即使CakePHP看到插件,它也看不到插件中的控制器。我看不出我做错了什么 这是我的/admin/elfinder路线: Router::prefix('admin', function ($routes) { $routes->connect('/elfinder', ['plugin' => 'CakephpTinymceElfinder', 'controller' => 'Elf

我有这个错误,这似乎是没有道理的。我正在使用这个插件:。我在创建和管理路线的需要。然而,即使CakePHP看到插件,它也看不到插件中的控制器。我看不出我做错了什么

这是我的
/admin/elfinder
路线:

Router::prefix('admin', function ($routes) {
  $routes->connect('/elfinder', ['plugin' => 'CakephpTinymceElfinder', 'controller' => 'Elfinders', 'action' => 'elfinder']);
});
这是我试图访问的控制器/操作

但我得到了以下错误:

2018-06-01 15:20:33 Error: [Cake\Routing\Exception\MissingControllerException] Controller class Elfinders could not be found.
Request URL: /admin/elfinder

它肯定是在寻找插件。为什么CakePHP找不到控制器?

根据官方食谱,您需要按照以下方式配置前缀路由。希望这有帮助

Router::plugin('YourPlugin', function ($routes) {
    $routes->prefix('admin', function ($routes) {
        $routes->connect('/:controller');
    });
});

不久前,我为我的个人需求写了一个插件。我需要将其控制器绑定到
/shop
/shop/api
URL。我设法做到了这一点

Router::scope('/shop',['plugin'=>'MyPlugin'] ,function (RouteBuilder $routes) {
    $routes->prefix('api', function($routes) {
        $routes->extensions(['json']);
        $routes->connect('/:controller');

        $routes->resources('Categories');
        $routes->resources('Products');
        $routes->resources('Prices');
        $routes->resources('Pricetypes');
    });

    $routes->connect('/:controller');
    $routes->fallbacks(DashedRoute::class);
});

你的回答是正确的,并提供了一些很好的例子。我会接受这是一个很好的回答,以处理和设置CakePHP路由,然而,我的问题是我自己做的。第三方插件没有一个管理员控制器来安装我的应用程序是如何设置的
src/Controller/Admin/MyControllers.php
。差不多吧!