当前位置: 首页 > 后端技术 > PHP

基于Laravel5.5的模块化开发

时间:2023-03-29 22:07:35 PHP

laravel安装后是一个单模块的应用程序,但通常情况下,我们的项目往往有很多模块。如果我们作为一个单独的模块来做,文件目录会非常大,不利于维护。太多的耦合。然后详细说说如何使用最新的laravel5.5开发子模块。下载安装Laravel5.5环境要求PHP>=7.0.0安装教程https://laravel.com/docs/5.5composer安装laravel5.5composercreate-project--prefer-distlaravel/laravel./新建一个模块化目录modules模块目录appartisanbootstrapcomposer.jsoncomposer.lockconfigdatabasemodulespackage.jsonphpunit.xmlpublicreadme.mdresourcesroutesserver.phpstoragetestsvendorwebpack.mix.jsmodules的目录结构为BasepublicbasicmoduleBackend后台模块Frontend前端模块modules/├──Backend│├──Controllers│├──帮手。php│├──中间件│├──模型│├──供应商││├──BaseServiceProvider。──控制器│├──helpers.php│├──中间件│├──模型│├──供应商││├──BaseServiceProvider.php││└──RouteServiceProvider.php│└──请求└──Frontend├──Controllers├──helpers.php├──Middlewares├──Models├──Providers│├──BaseServiceProvider.php│└──RouteServiceProvider.php└──RequestsuseComposer自动加载模块命名空间并修改composer.json文件{"name":"laravel/laravel",..."autoload":{"classmap":["database/seeds","database/factories"],"psr-4":{"App\\":"app/","Base\\":"modules/Base/","Backend\\":"modules/Backend/","Frontend\\":"modules/Frontend/"},"files":["modules/Base/helpers.php"]}...}自动加载命令,在应用实例基础模块根目录命令行执行composerdumpautonamespacenamespace是namespaceBaseModule-ControllerNamespacenamespaceBaseControllersBasicModule-ModelNamespacenamespaceBaseModelsConfigurationModularServiceModifyconfig/app.php[//...//模块化ProviderBase\Providers\BaseServiceProvider::class,//公共基础服务提供者Backend\Providers\BaseServiceProvider::class,//后台服务提供者Frontend\Providers\BaseServiceProvider::class,//前台基础ServiceProvider],//省略以下内容];为每个模块创建新的路由文件-base.php-backend.php-frontend.phproutes/├──api.php├──backend.php├──base.php├──channels.php├──console.php├──frontend.php└──web.php来源代码托管在码云http://git.oschina.net/techle...原文链接http://www.tech1024.cn/origin...