我正在使用乒乓球包在laravel 5.1中开发模块化项目。这给了我如下的项目结构
laravel-app/
app/
bootstrap/
vendor/
modules/
├── Blog/
├── Assets/
├── Config/
├── Console/
├── Database/
├── Migrations/
├── Seeders/
├── Entities/
├── Http/
├── Controllers/
├── Middleware/
├── Requests/
├── routes.php
├── Providers/
├── BlogServiceProvider.php
├── Resources/
├── lang/
├── views/
├── Repositories/
├── Tests/
├── composer.json
├── module.json
├── start.php
我想在"admin"one_answers"client"中分离这个模块文件夹,以区分我的客户端和管理端,如下所示,
laravel-app/
app/
bootstrap/
vendor/
modules/
├── Admin/
├── Blog/
├── Assets/
├── Config/
├── Console/
├── Database/
├── Migrations/
├── Seeders/
├── Entities/
├── Http/
├── Controllers/
├── Middleware/
├── Requests/
├── routes.php
├── Providers/
├── BlogServiceProvider.php
├── Resources/
├── lang/
├── views/
├── Repositories/
├── Tests/
├── composer.json
├── module.json
├── start.php
├── Client/
├── Blog/
├── Assets/
├── Config/
├── Console/
├── Database/
├── Migrations/
├── Seeders/
├── Entities/
├── Http/
├── Controllers/
├── Middleware/
├── Requests/
├── routes.php
├── Providers/
├── BlogServiceProvider.php
├── Resources/
├── lang/
├── views/
├── Repositories/
├── Tests/
├── composer.json
├── module.json
├── start.php
请帮我解决这个问题谢谢。
UPDATE:
你可以通过调整config/modules.php
文件来实现你想要的,但是当你在Admin
和Client
之间切换时,你必须来回切换它。
例如:
要在项目的Admin
部分中生成(module:make
)或使用(module:use
)模块,您需要执行以下操作:
在config/modules.php
文件中,将namespace
调整为
/*
|--------------------------------------------------------------------------
| Module Namespace
|--------------------------------------------------------------------------
|
| Default module namespace.
|
*/
'namespace' => 'ModulesAdmin',
在同一个文件中,将base_path
调整为
/*
|--------------------------------------------------------------------------
| Modules path
|--------------------------------------------------------------------------
|
| This path used for save the generated module. This path also will added
| automatically to list of scanned folders.
|
*/
'modules' => base_path('modules/admin'),
这就是你需要做的,调用php artisan module:make blog
将在modules/admin
中创建一个Blog模块。
如果您需要在项目的Admin
和Client
部分之间切换,则需要在config/modules.php
文件中调整相同的两行以反映这样的情况。
还有一个警告:
如果你计划在模块中使用Assets
文件夹,你还需要调整config/modules.php
文件中的相应行,并且你需要手动调整几个方法,在模块的服务提供商(例如:Admin/Blog/Providers/BlogServiceProvider.php
)中明确地编写文件路径,并且你需要修复你的config/view.php
-只需遵循注释。
注:您可以创建一个自定义命令来自动在Admin
和Client
之间切换。