为什么我的Laravel模块中出现"未找到类"错误?

Ala*_*ore 3 php database laravel laravel-4

我正在使用"laravel/framework":"4.2.*"版本,我想将模块系统用于我的项目.我已按照本文档中提供的说明进行操作.

我可以使用以下命令创建模块:php artisan modules:create module_name.我在app目录中创建了一个管理模块,并且已经创建了模块的目录结构.

DB::select('some SQL statement')在管理模块中使用控制器的其中一个操作,但是它给了我以下错误:

找不到"App\Modules\Admin\Controllers\DB"类.

为什么找不到这门课呢?

Dav*_*ker 13

DB根命名空间之外使用或任何其他Laravel外观时,您需要确保在根命名空间中实际使用该类.你可以\在课前放一个.

\DB::select(...)
Run Code Online (Sandbox Code Playgroud)

或者,您可以use在类文件中使用关键字以允许使用不同的命名空间类,而无需在每次使用时明确写出命名空间.

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

use DB;
use BaseController;

class ModuleController extends BaseController {

    public function index()
    {
        // This will now use the correct facade
        $data = DB::select(...);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,use关键字始终假定它从根命名空间加载命名空间.因此,始终需要完全限定的命名空间use.