2015-04-08 42 views
1

我的用戶插件的URL路由有一些問題,我似乎無法理解是什麼導致問題。CakePHP 3.0的URL插件路由

所以,我烤了一個插件使用蛋糕殼(蛋糕烘烤插件用戶)。這已經在插件文件夾(./plugins/Users/)中創建了文件夾結構。

我也曾在UsersController.php創建的最低限度(./插件/用戶/ src目錄/控制器/ 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錯誤顯示:

Unserializable object - Cake \ Routing \ Exception \ MissingControllerException。錯誤:控制器類無法找到用戶。在/var/www/vendor/cakephp/cakephp/src/Routing/Dispatcher.php,第80行

我一直在玩這個近一天了,包括諮詢CakePHP Book,所以如果有任何幫助,將不勝感激,如果我缺少一個很小的事情

+0

您是否使用bake創建插件? –

+0

@JoséLorenzo是的,我做了(「蛋糕烘烤插件用戶」是我使用的完整命令) – Pirouet

+0

當你要求修改你的composer.json文件時,你回答「是」嗎? –

回答

2

如果您更新/composer.json

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

,並在您/config/bootstrap.php,你必須寫這

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

,並刷新喲你的自動加載文件:

composer dumpautoload 

它工作嗎?

菲爾

+0

是的,這一直奏效。我從未記得以前必須這樣做(當我嘗試Cake 3.0之前) – Pirouet

+0

我已經創建了沒有蛋糕殼的插件。我應該按照這些步驟嗎? –