我正在为我的项目创建自定义模块,以便能够根据需求向项目或其他项目中添加一些功能。
我的问题是路线,我ModuleServiceProvider
在app.php中加载了路线:
include __DIR__.'/../../modules/canae/Http/routes.php';
我检查了该文件是否与该文件内的回声一起使用。routes.php文件包含以下代码:
Route::group(['prefix' => 'admin', 'middleware' => 'auth'], function() {
Route::controller('dogs', 'Canae\Http\Controllers\Admin\DogController');
});
我还检查了Laravel是否可以找到Controller,问题是它无法执行其中的代码。
这是我在DogController中拥有的代码:
<?php namespace Canae\Http\Controllers\Admin;
class DogController extends \Origin\Http\Controllers\Controller {
public function getIndex() {
echo "Hello!";die();
}
}
错误是 Controller method not found.
如果将extends
以下内容修改为Origin\Http\Controllers\Controller
(删除第一个\
),Class 'Canae\Http\Controllers\Admin\Origin\Http\Controllers\Controller' not found
则会出现以下错误:因此,我的结论是该控制器内部的代码正在执行,至少是从Laravel中读取。
我也在尝试通过此路由实现Index功能http://localhost/canae/public/admin/dogs/index
。
这是执行的最终结果php artisan route:list
:
| | GET|HEAD | admin/dogs/index/{one?}/{two?}/{three?}/{four?}/{five?} | | Canae\Http\Controllers\Admin\DogController@getIndex | auth |
| | GET|HEAD | admin/dogs | | Canae\Http\Controllers\Admin\DogController@getIndex | auth |
| | GET|HEAD|POST|PUT|PATCH|DELETE | admin/dogs/{_missing} | | Canae\Http\Controllers\Admin\DogController@missingMethod | auth |
+--------+--------------------------------+-------------------------------------------------------------------------------+--------+--------------------------------------------------------------------+------------+
告诉我是否需要更多信息。并感谢您的宝贵时间。
我解决了它,将行移动到了内部providers
,从而将该路由加载到providers
数组的第一项,甚至在应用程序之前。不知道为什么,但是现在可以了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句