Laravel 4创建模块,并将控制器、模块和视图放入模块中


laravel 4 create module and put controller , module and view inside module

我以前在yii框架上工作过,我有可能创建模块文件夹,并在此放置例如:news模块,其中包括控制器,视图和模块

我是新的laravel,并试图创建相同的东西MODULE

我尝试了以下内部路由

Route::get('/news','/modules/news/controllers/NewsController@index'); 

文件存在,但我得到

ReflectionException
Class /modules/news/controllers/NewsController does not exist

为什么?我做错了什么?

Route::get()函数正在寻找一个(自动)加载的类,而不是在磁盘上加载一个文件,这就是为什么你得到这些错误。

更Laravelish (Laravelish?)包含:

  • /app/controllers/目录中的控制器
  • /app/views/目录
  • 视图
  • /app/models/目录下的模型

如果你刚开始使用Laravel,这可能是最好的开始方式。自动加载器知道在哪里寻找你的类,然后一切都会自动为你处理。

NewsController位于/app/controllers/中时,你可以这样做:

// no need to start the route location with a slash:
Route::get('news', array('uses' => 'NewsController@index')); 

你可以使用Laravel的Packages来"打包"功能,但是最好先看看优秀的文档,然后再带着具体的问题回来。

把你的Laravel控制器放在app/controllers中,因为这个目录会自动加载,它是Laravel期望控制器所在的目录。

然后你可以使用这样的路由(示例直接从http://laravel.com/docs/controllers#basic-controllers的文档)

Route::get('user/{id}', 'UserController@showProfile');