我正在使用laravel 5.1包在pingpong开发模块化项目。它给我的项目结构如下
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"中分隔这些模块文件夹和"客户"用于区分我的客户端和管理员端,如下所示,
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
请帮我解决这个问题, 感谢。
答案 0 :(得分:3)
<强>更新强>
您可以通过调整config/modules.php
文件来实现您的目标,但在Admin
和Client
之间切换时,您必须来回切换。
例如:
要在项目的module:make
部分内生成(module:use
)或使用(Admin
)模块,您需要执行以下操作:
在config/modules.php
文件中,将namespace
调整为
/*
|--------------------------------------------------------------------------
| Module Namespace
|--------------------------------------------------------------------------
|
| Default module namespace.
|
*/
'namespace' => 'Modules\Admin',
在同一文件中,将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
文件中调整相同的两行以反映这一点。< / p>
还有一点需要注意:
如果您打算在模块中使用Assets
文件夹,则还需要调整config/modules.php
文件中的相应行,并且您需要手动调整几个方法在模块的服务提供商中明确写入的文件路径(例如:Admin/Blog/Providers/BlogServiceProvider.php
),您需要修复config/view.php
- 只需按照注释进行操作。
P.S。你可以创建一个自定义命令来自动切换Admin
和Client
。