CakePHP 3.0 URL 插件路由
CakePHP 3.0 URL Plugin Routing
我的用户插件的 URL 路由存在一些问题,我似乎无法理解导致这些问题的原因。
所以,我已经使用蛋糕 shell(蛋糕烘焙插件用户)烘焙了一个插件。这已在插件文件夹 (./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 我收到:
"Error: Create the class UsersController below in file: /var/www/plugins/Users/src/Controller/UsersController.php"
DebugKit 错误显示:
不可序列化的对象 - Cake\Routing\Exception\MissingControllerException。错误:找不到控制器 class 用户。在 /var/www/vendor/cakephp/cakephp/src/Routing/Dispatcher.php,第 80 行
我已经研究了将近一天,包括查阅 CakePHP 手册,所以如果我遗漏了一件小事,我们将不胜感激
如果您更新您的 /composer.json
"autoload": {
"psr-4": {
...
"Users\": "src"
}
},
并且在你的 /config/bootstrap.php 中,你必须这样写
Plugin::loadAll([
... ,
'Users' => ['autoload' => false, 'routes' => true, 'bootstrap' => false],
]);
并刷新您的自动加载文件:
composer dumpautoload
有效吗?
菲尔
我的用户插件的 URL 路由存在一些问题,我似乎无法理解导致这些问题的原因。
所以,我已经使用蛋糕 shell(蛋糕烘焙插件用户)烘焙了一个插件。这已在插件文件夹 (./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 我收到:
"Error: Create the class UsersController below in file: /var/www/plugins/Users/src/Controller/UsersController.php"
DebugKit 错误显示:
不可序列化的对象 - Cake\Routing\Exception\MissingControllerException。错误:找不到控制器 class 用户。在 /var/www/vendor/cakephp/cakephp/src/Routing/Dispatcher.php,第 80 行
我已经研究了将近一天,包括查阅 CakePHP 手册,所以如果我遗漏了一件小事,我们将不胜感激
如果您更新您的 /composer.json
"autoload": {
"psr-4": {
...
"Users\": "src"
}
},
并且在你的 /config/bootstrap.php 中,你必须这样写
Plugin::loadAll([
... ,
'Users' => ['autoload' => false, 'routes' => true, 'bootstrap' => false],
]);
并刷新您的自动加载文件:
composer dumpautoload
有效吗?
菲尔