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

时间:2014-05-05 12:43:00

标签: php laravel module laravel-4

我正在尝试在 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 'Illuminate\Session' not found

这是我的module.php代码:

 <?php namespace App\Modules\Twitter\Controllers;

 use Illuminate\Routing\Controllers\Controller;

 class Modulename extends Controller {

 }

我有两个问题。

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

1 个答案:

答案 0 :(得分:1)

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

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

<?php namespace App\Modules\Twitter\Controllers;

 use Controller, Session;

 class Modulename extends Controller {

 }

这样可以节省您输入整个命名空间的费用。

相关问题