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