我試圖在CakePHP 3.2的插件中加載路由。他們工作得很好,如果我把路線放在覈心routes.php文件中,但不在我的插件routes.php文件中。CakePHP 3插件路由似乎並未加載
插件名稱是:MFC/HDParser。
路徑是:/ vendor/mfc/hdparser。 (該插件最初烤成的插件目錄,但它轉移到供應商目錄(和所有的文件更新)只是這是問題的情況下。)
在覈心引導文件我有:
Plugin::load('MFC/HDParser', ['bootstrap' => true, 'routes' => true, 'autoload' => true]);
/供應商/ cakephp中-插件包含行:
'MFC/HDParser' => $baseDir . '/vendor/mfc/hdparser/'
/composer.json包含:
"autoload": {
"psr-4": {
"App\\": "src",
"mfc\\hdparser\\": "./vendor/mfc/hdparser/src",
}
},
我/vendor/mfc/hdparser/config/routes.php包含:
use Cake\Routing\Router;
Router::plugin(
'MFC/HDParser', ['path' => '/hdparser'], function ($routes) {
$routes->connect('/charactersheet', ['plugin' => 'MFC/HDParser', 'controller' => 'Charactersheet', 'action' => 'index']);
// $routes->connect('/:controller');
//
//$routes->resources('Charactersheet');
// $routes->fallbacks('DashedRoute');
//}
);
//Router::connect('/charactersheet', ['plugin' => 'MFC/HDParser', 'controller' => 'Charactersheet', 'action' => 'index']);
我還用 '路徑' 嘗試=> '/ MFC/hdparser'
當我嘗試訪問site.dev/charactersheet我得到「錯誤:CharactersheetController無法找到。」
如果我嘗試使用像/ mfc/hdparser/charactersheet,/ MFC/HDParser/charactersheet或/ mfc ...,/ m_f_c ...,/ Mfc ...等路由,我會得到一個缺失的控制器('Mfc')錯誤。
如果我放線:
Router::connect('/charactersheet', ['plugin' => 'MFC/HDParser', 'controller' => 'Charactersheet', 'action' => 'index']);
在覈心routes.php文件文件
(範圍之外,插件之前:負載();或範圍內使用$ routes->連接())它工作正常。
我已經嘗試使用下劃線,破折號和camelcase幾乎所有的變化。
我已經通過文件挖(http://book.cakephp.org/3.0/en/plugins.html,http://book.cakephp.org/3.0/en/development/routing.html,http://api.cakephp.org/3.2/class-Cake.Routing.Router.html),並嘗試了所有我能找到有(在這裏),以及使用CakeDC /用戶插件爲模板,但我仍然失去了一些東西...
--MFC
我已經臨時添加了:'$ routes-> connect('/:controller'); \t $ routes-> connect('/:controller /:action/*');'給我的/config/routes.php文件。它有效,但它不能解決問題。 –