CakePHP 3插件开发控制器无法找到错误

时间:2015-03-24 12:48:31

标签: cakephp cakephp-3.0

我正在尝试为我的网站创建一个管理插件。我烘焙插件然后用户模型和控制器,但当我访问/ admin / users /或/ admin / users / index时,它总是给出如下错误:

  

错误:找不到Admin.UsersController。

     

错误:在文件中创建下面的UsersController类:C:\ xampp \ htdocs \ cake3 \ plugins \ Admin \ src \ Controller \ UsersController.php

但我当然把文件放在正确的位置。是什么原因导致了这个问题?

非常感谢帮助甚至努力。

请询问任何进一步的信息

2 个答案:

答案 0 :(得分:13)

在config / bootstrap.php中添加此行

Plugin::load('Admin', ['routes' => true, 'autoload' => true]);

答案 1 :(得分:0)

我弄明白了这个问题。它是关于myplugin / config文件夹中的routes.php文件和myplugin文件夹中的composer.json。

何塞问题不是在根位置的composer.json,我用文件检查了一切。我的代码如下所示。

"autoload": {
    "psr-4": {
        "App\\": "src",
        "Admin\\": "./plugins/Admin/src"
    }
},
"autoload-dev": {
    "psr-4": {
        "App\\Test\\": "tests",
        "Cake\\Test\\": "./vendor/cakephp/cakephp/tests",
        "Admin\\Test\\": "./plugins/Admin/tests"
    }
},

但我需要再增加两个。

首先在我的插件文件夹中创建了composer.json。

{
    "name": "your-name-here/Admin",
    "description": "Admin plugin for CakePHP",
    "type": "cakephp-plugin",
    "require": {
        "php": ">=5.4",
        "cakephp/cakephp": "3.0.x-dev"
    },
    "require-dev": {
        "phpunit/phpunit": "*"
    },
    "autoload": {
        "psr-4": {
            "Admin\\": "src"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Admin\\Test\\": "tests",
            "Cake\\Test\\": "./vendor/cakephp/cakephp/tests"
        }
    }
}

其次我在" {mypluginfolder} / config"中创建了routes.php文件。并添加了以下代码。

use Cake\Routing\Router;

Router::plugin('Admin', function ($routes) {
    $routes->fallbacks('InflectedRoute');
});

希望这有助于他人