我试图在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 {
}
我有两个问题
- 我如何在模块中调用会话类?
- 我在每个模块中都有route.php文件,但仍然无法路由模块。因此,我应该使用laravel默认路由。php文件。我该如何解决这个问题?
谢谢。
Laravel库都存在于全局命名空间中,所以如果你使用任何类型的命名空间代码,你需要指定你调用的库。
使用您提供的代码,它将像这样:
<?php namespace AppModulesTwitterControllers;
use Controller, Session;
class Modulename extends Controller {
}
这样就省去了输入整个命名空间的麻烦。