Laravel 多应用 多模块开发

有时候我们的项目需要分多个模块进行开发,多个模块的耦合性不是那么的强

首先我的 我们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

到此算是多模块化执行成功