Pri*_*ank 15 php module laravel composer-php laravel-5.1
我在开发模块化项目laravel 5.1使用乒乓球 package.Which给我的项目结构如下图
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
Run Code Online (Sandbox Code Playgroud)
我想在"admin"和"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
Run Code Online (Sandbox Code Playgroud)
请帮帮我,谢谢.
更新:
您基本上可以通过调整文件来实现您想要的效果,但是在和 之间config/modules.php
切换时,您必须来回切换它。Admin
Client
例如:
要在项目的一部分中生成 ( module:make
) 或使用 ( module:use
) 模块Admin
,您需要执行以下操作:
在config/modules.php
文件中,调整namespace
为
/*
|--------------------------------------------------------------------------
| Module Namespace
|--------------------------------------------------------------------------
|
| Default module namespace.
|
*/
'namespace' => 'Modules\Admin',
Run Code Online (Sandbox Code Playgroud)
在同一个文件中,调整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'),
Run Code Online (Sandbox Code Playgroud)
这就是您需要做的所有事情,调用php artisan module:make blog
将在modules/admin
.
如果您需要在项目的Admin
和Client
部分之间切换,则需要调整config/modules.php
文件中相同的两行以反映这一点。
还有一个警告:
如果您计划Assets
在模块中使用该文件夹,则还需要调整文件中的相应行config/modules.php
,并且您将需要手动调整一些方法,其中的文件路径明确写入模块的服务提供程序中(例如Admin/Blog/Providers/BlogServiceProvider.php
:) ,并且您需要修复您的config/view.php
- 只需按照评论操作即可。
Admin
PS您也许可以创建一个自定义命令来自动在和之间切换Client
。
归档时间: |
|
查看次数: |
1135 次 |
最近记录: |