基于Laravel5.5的模块化开发

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了基于Laravel5.5的模块化开发脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_360_0@

laravel 安装后是单模块应用,但通常情况下,我们的项目往往会有很多模块,如果按单模块去做,文件目录会异常庞大,不利于维护,耦合性太大。
那么下面就详细说一下利用最新laravel5.5如何进行分模块开发。

下载安装Laravel5.5

composer安装laravel5.5

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

建立 模块化 目录

  • 新建modules模块目录
app
artisan
bootstrap
composer.json
composer.lock
config
database
modules
package.json
phpunIT.XMl
public
readme.md
resources
routes
server.php
storage
tests
vendor
webpack.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
<?php

return [
    //省略之前内容
    'providers' => [
    
        //...
        // 模块化的Provider
        BaseProvidersBaseServiceProvider::class, //公共基本服务Provider
        BackendProvidersBaseServiceProvider::class, //后台服务Provider
        FrontendProvidersBaseServiceProvider::class, //前台基本服务Provider
    ],
    //省略之后内容
];

新建各模块路由文件

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

码托管于码 http://git.oschina.net/techle...

原文链接 http://www.tech1024.cn/origin...

脚本宝典总结

以上是脚本宝典为你收集整理的基于Laravel5.5的模块化开发全部内容,希望文章能够帮你解决基于Laravel5.5的模块化开发所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。