CakePHP 3.0 URL插件路由

时间:2015-04-08 09:44:52

标签: cakephp routing cakephp-3.0

我的用户插件的网址路由存在一些问题,而我似乎无法理解造成问题的原因。

所以,我已经使用蛋糕壳(蛋糕烘焙插件用户)烘焙了一个插件。这已在plugins文件夹中创建了文件夹结构(./plugins/Users /).

我还在UsersController.php中创建了最低限度(./ plugins / Users / src / Controller / UsersController.php)

<?php

namespace Users\Controller;

use Users\Controller\AppController;

class UsersController extends AppController {

    public function login() {

    }
}

我的routes.php文件如下所示:

Router::plugin('Users', function ($routes) {
$routes->connect('/login', [
    'controller' => 'Users',
    'action' => 'login'
], ['_name' => 'login']);
$routes->fallbacks();

});

访问www.examples.com/users/login我收到:

“错误:在文件中创建下面的UsersController类:/var/www/plugins/Users/src/Controller/UsersController.php”

DebugKit错误显示:

不可序列化的对象 - Cake \ Routing \ Exception \ MissingControllerException。错误:无法找到控制器类用户。在/var/www/vendor/cakephp/cakephp/src/Routing/Dispatcher.php,第80行

我已经玩了近一天了,包括咨询CakePHP Book所以如果我错过了一件小事,任何帮助都会受到赞赏

1 个答案:

答案 0 :(得分:2)

如果您更新/composer.json

"autoload": {
    "psr-4": {
         ...
        "Users\\": "src"
    }
},

在你的/config/bootstrap.php中,你必须写这个

Plugin::loadAll([
  ... ,
  'Users' => ['autoload' => false, 'routes' => true, 'bootstrap' => false],
]);

并刷新自动加载文件:

composer dumpautoload

有用吗?

菲尔