如何在laravel中制作模块化系统



我试图在Laravel 4.1创建一个模块化系统。

我有如下文件夹:

app
app/controllers
app/controllers/BaseController.php
app/views/
app/modules/
app/modules/moduleName/
app/modules/moduleName/routes.php
app/modules/moduleName/controllers/
app/modules/moduleName/controllers/module.php

当我尝试扩展BaseController时,我使用名称空间,并得到以下错误:

 Symfony  Component  Debug  Exception  FatalErrorException
 Class 'IlluminateSession' not found

这是我的模块。php代码:

 <?php namespace AppModulesTwitterControllers;
 use IlluminateRoutingControllersController;
 class Modulename extends Controller {
 }

我有两个问题

  1. 我如何在模块中调用会话类?
  2. 我在每个模块中都有route.php文件,但仍然无法路由模块。因此,我应该使用laravel默认路由。php文件。我该如何解决这个问题?

谢谢。

Laravel库都存在于全局命名空间中,所以如果你使用任何类型的命名空间代码,你需要指定你调用的库。

使用您提供的代码,它将像这样:

<?php namespace AppModulesTwitterControllers;
 use Controller, Session;
 class Modulename extends Controller {
 }

这样就省去了输入整个命名空间的麻烦。

最新更新