博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于Laravel5.5的模块化开发
阅读量:5941 次
发布时间:2019-06-19

本文共 2110 字,大约阅读时间需要 7 分钟。

laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。

那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。

下载安装Laravel5.5

  • 环境要求 PHP >= 7.0.0
  • 安装教程

composer安装laravel5.5

composer create-project --prefer-dist laravel/laravel ./

建立 模块化 目录

  • 新建modules模块目录
appartisanbootstrapcomposer.jsoncomposer.lockconfigdatabasemodulespackage.jsonphpunit.xmlpublicreadme.mdresourcesroutesserver.phpstoragetestsvendorwebpack.mix.js
  • modules的目录结构为

    • Base 公共基础模块
    • Backend 后台模块
    • Frontend 前台模块
modules/├── Backend│   ├── Controllers│   ├── helpers.php│   ├── Middlewares│   ├── Models│   ├── Providers│   │   ├── BaseServiceProvider.php│   │   └── RouteServiceProvider.php│   └── Requests│   └── helpers.php├── Base│   ├── Controllers│   ├── helpers.php│   ├── Middlewares│   ├── Models│   ├── Providers│   │   ├── BaseServiceProvider.php│   │   └── RouteServiceProvider.php│   └── Requests└── Frontend    ├── Controllers    ├── helpers.php    ├── Middlewares    ├── Models    ├── Providers    │   ├── BaseServiceProvider.php    │   └── RouteServiceProvider.php    └── Requests

使用composer自动加载模块命名空间

  • 修改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"        ]     }    ...}
  • 自动加载命令,在应用根目录命令行执行
composer dumpauto
  • 命名空间举例

    • 基础模块命名空间为 namespace Base
    • 基础模块-控制器命名空间 namespace BaseControllers
    • 基础模块-模型命名空间 namespace BaseModels

配置模块化服务

  • 修改config/app.php
[ //... // 模块化的Provider Base\Providers\BaseServiceProvider::class, //公共基本服务Provider Backend\Providers\BaseServiceProvider::class, //后台服务Provider Frontend\Providers\BaseServiceProvider::class, //前台基本服务Provider ], //省略之后内容];

新建各模块路由文件

- base.php- backend.php- frontend.php
routes/├── api.php├── backend.php├── base.php├── channels.php├── console.php├── frontend.php└── web.php

源码托管于码云

原文链接

转载地址:http://ojqtx.baihongyu.com/

你可能感兴趣的文章
127 - "Accordian" Patience
查看>>
安卓完全退出程序的六种方法(欢迎新手学习,大手指导)
查看>>
elasticsearch 结构化搜索_在案例中实战基于range filter来进行范围过滤
查看>>
linux cp命令
查看>>
IOS 屏幕适配
查看>>
double free or corruption (fasttop)
查看>>
<HTML5与CSS3实战指南>读书笔记之一些可能会有用的东西
查看>>
我的友情链接
查看>>
解决Chrome浏览器打开虾米音乐网页播放器时的排版问题
查看>>
Javascript操作table,tr,td和表格CSS样式设置小常识
查看>>
Kafka Architecture
查看>>
Reactive Streams
查看>>
访问者模式
查看>>
activemq高级客户端选项
查看>>
MySQL中TIMESTAMPDIFF和TIMESTAMPADD函数
查看>>
<转>用PHP开发企业Wifi网络Web认证系统(附源码)
查看>>
WePY框架开发的小程序如何在微信web开发者工具中运行起来
查看>>
No result for action XX.action and result error 错误处理
查看>>
UILabel 使用 标签,圆角,富文本
查看>>
oracle archivelog模式与非archivelog模式转换
查看>>