- 安装模块化必要的包
$ composer require nwidart/laravel-modules
- 注册, 在
config/app.php
文件中添加下面的代码
...
'providers' => [ // 添加服务提供者
...
Nwidart\Modules\LaravelModulesServiceProvider::class,
],
...
'aliases' => [ // 添加别名
...
'Module' => Nwidart\Modules\Facades\Module::class,
],
或者直接敲以下命令(感谢laravel 5.5之后出现的包自动发现
机制)
$ php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
- 在composer中添加自动加载的地址, 修改
composer.json
添加到对应的位置
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/"
}
}
}
# 修改自动加载后为防止代码不生效, 需要执行一下代码
$ composer dump-autoload
- 生成模块
$ php artisan module:make seckill
# 需要一次性添加多个也可以在后边以空格分隔输入模块名
5.管理modules_statuses.json
文件, 若模块名不为true,则不注册
{
"Seckill": true
}
以下是根据个人习惯做的配置修改配置文件为config/modules.php
- 修改命名空间
...
'namespace' => 'App\Modules',
...
- 修改生成的模块地址
...
'paths' => [
'modules' => base_path('app/Modules'),
# base_path() 为获取项目根目录
...
]
...
网友评论