laravel的模块化开发

对于刚接触laravel的人来说,知道了控制器、路由、视图等一些基础知识后,就开始动手敲代码了。然而过了没多久你就会发现,你的app下的controller目录,route文件和视图都是很多都是堆在一起。这时候就体现出模块化开发的好处了。模块化开发可以把各个功能逻辑分类,各自都有自己的控制器、路由、视图文件夹,而且模块之间互不影响,删除其中一个模块不会对其他模块产生影响。像下图一样,将后台admin作为一个模块,放在modules下,如果再有其他模块,还可以继续建另一个文件夹存放,这样目录结构就变得非常整洁。什么?那里面那么多文件不是都要手动创建么,那不累死了?当然不是啦,在高科技的今天,这种工作怎么可能自己手动建呢,我是个懒人。。。往下拉。。

laravel的模块化开发_第1张图片

我用的是第三方的包。。laravel的第三方组件那么多,不用?你似不似sha。。接下来就跟着我来安装吧

安装组件

composer require houdunwang/laravel-module

php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="migrations"

php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider" --tag="config"

php artisan vendor:publish --provider="Houdunwang\Module\LaravelServiceProvider"

php artisan migrate

ps:安装完后要去更新一下artisan命令。。。

配置 composer.json 设置自动加载目录

{
  "autoload": {
    "psr-4": {
      "App\\": "app/",
      "Modules\\": "Modules/"
    }
  }
}

创建模块

下面的命令是安装 Admin 模块。。

php artisan hd:module Admin

 这样就能一行命令生成模块啦。里面应有尽有。。连路由都帮你生成了!这个第三方包还有很多神奇的地方,有兴趣的自己去研究一下。。可以自动化构建,还有角色和权限的管理。

https://packagist.org/packages/houdunwang/laravel-module

你可能感兴趣的:(php,laravel,laravel,模块化开发)