我在Laravel 5中创建了一个模块,即与app文件夹相同的级别,作为在Laravel中制作HMVC结构的一部分。我在模块文件夹中有两个模块,一个是项目文件夹,另一个是表单文件夹。现在我在这些文件夹中找到了控制器,模型和视图。
Click here to view folder structure
现在,当我尝试访问我的控制器时,如
Route::controller('project/dashboard', 'ProjectController@index');
我收到错误
ReflectionException in ControllerInspector.php line 35:
Class ProjectController does not exist
我想知道在Laravel中以模块化结构路由控制器。
答案 0 :(得分:1)
使用Route::controller
时使用此Route::controller('project/dashboard','ProjectController');
在你的控制器里面定义像
这样的方法public function getIndex(){
// write your code here
}
public function postIndex(){
// write your code here
}
public function getCreate(){
// write your code here
}
public function postStore(){
// write your code here
}
答案 1 :(得分:0)
您遇到了这个问题,因为Laravel的psr模块看不到模块目录。基于laravel版本,您可以在psr
"App\\": "app/",
中
例如:
"psr-4": {
"App\\": "app/",
"Modules\\": "modules/"
}
在 app.php 中,它位于laravel 5中的app/config/app.php
或config/app.php
中。
然后执行composer命令composer dump-autoload -o
。
现在,您可以按照自己的意愿使用模块。
如果仍然遇到问题,你可以试试这个包你做同样的事情。 https://github.com/yubarajshrestha/laravel-module