有时候我们的项目需要分多个模块进行开发,多个模块的耦合性不是那么的强
首先我的 我们composer 切到阿里的镜像 之前使用的国内的镜像和国外的镜像 都安装失败
#切换到阿里的镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
然后安装再项目的根目录(不是public目录)安装laravel model 扩展包
composer require nwidart/laravel-modules
然后执行一下 下面的命令注册 5.5版本 以下不用注册 高版本的需要
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
执行成功后 在 config 文件夹下会生成一个 modules.php
modules.php 里面的内容包含 你模块生成的位置 和模块的命名空间
然后修改 composer.json文件
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/"
}
}
再这个"autoload": 加上 "Modules\\": "Modules/"
然后修改config 文件夹下的modules.php
'namespace' => 'App',//默认的命名空间是modules 我这里修改成了 app
'modules' => base_path('app'),//app 就是你的路径 你想把模块放在那里 就改路径的地址
修改成功之后就执行 新增 模块的命令
php artisan module:make module-name
这里的module-name 就是你要生成的模块的命令 比如说 User Api Admin
eg:
php artisan module:make User
php artisan module:make Api
php artisan module:make Admin
执行成功之后 执行一下下面的命令
composer dump-autoload
到此算是多模块化执行成功