【问题标题】:laravel 4 create module and put controller , module and view inside modulelaravel 4 创建模块并将控制器、模块和视图放入模块中
【发布时间】:2014-07-10 17:24:23
【问题描述】:

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

我是 laravel 的新手,正在尝试创建相同的东西 MODULE

我尝试了以下内部路由

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

文件存在,但我得到了

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

为什么?我做错了什么?

【问题讨论】:

    标签: php laravel url-rewriting laravel-4 routing


    【解决方案1】:

    将您的 Laravel 控制器放在 app/controllers 中,因为该目录会自动加载,而这是 Laravel 期望控制器所在的位置。

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

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

    【讨论】:

      【解决方案2】:

      Route::get() 函数正在寻找(自动)加载的类,而不是要加载磁盘上的文件,这就是您收到这些错误的原因。

      包含更多 Laravely (Laravelish?):

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

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

      使用位于/app/controllers/ 中的NewsController,您可以这样做:

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

      您可以使用Laravel's Packages“打包”功能,但最好先查看优秀的文档,然后再提出具体问题。

      【讨论】:

      • 如何从模块访问控制器?
      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多