资讯专栏INFORMATION COLUMN

基于Laravel5.5的模块化开发

wenhai.he / 2353人阅读

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

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

下载安装Laravel5.5

环境要求 PHP >= 7.0.0

安装教程 https://laravel.com/docs/5.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

 [
    
        //...
        // 模块化的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...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30624.html

相关文章

  • Any-基于Laravel5.4新权限管理后台骨架

    摘要:最简化权限管理系统,基于开发。基于开发,唯一优化的是用权限和路由别名绑定,这样代码写好之后就可以直接使用。如果是超级管理员,即使没有这个权限会自动赋予权限给超级管理员角色。默认管理员账号密码。然后正常执行命令其他命令即可。 Any 最简化权限管理系统,基于 Laravel5.4 开发。由于 Laravel5.5 发布推迟,只好先写个 Laravel5.4版本的,后面再升级上去。演示地址...

    Lavender 评论0 收藏0
  • windows下laravel5.5手写教程1(适合初学者)

    摘要:打开浏览器输入,如无意外,将出现如下图,表示框架安装成功。四系统内部后台管理系统这个是框架自带的后台登录管理系统,只需要简单的命令即可运行。出现上图即为,创建模型成功。 在PHP个各种web开发框架中,laravel算是一款简洁、优雅的开发框架,本人也刚刚接触到laravel,通过学习大神们的一些文章,下面是我的一些心得体会,希望可以给初学者一些帮助,大家一起进步。言归正传: 本人环境...

    GeekGhc 评论0 收藏0
  • Laravel5-Markdown-Editor 在线编辑器

    摘要:是基于封装的在线编辑器,支持项目。已集成本地七牛云阿里云文件存储。更新记录完成在线编辑器主程序,且集成本地七牛阿里云存储。 Laravel5-Markdown-Editor Laravel5-Markdown-Editor 是基于 editor.md 封装的 Markdown 在线编辑器,支持 Laravel5 项目。已集成本地、七牛云、阿里云文件存储。 更新记录 2017-11-09...

    MoAir 评论0 收藏0
  • Laravel5.5 综合使用

    摘要:使用开发一个自动交割的项目,把使用到的开源扩展包及特性整理起来,以供后续使用。一安装提示工具是一个极其好用的代码提示及补全工具,可以给编写代码带来极大的便利。更多关于的任务调度,请看考该文的任务调度计划任务功能 使用 Laravel5.5 开发一个自动交割的项目,把使用到的开源扩展包及特性整理起来,以供后续使用。 一、安装IDE提示工具 Laravel IDE Helper 是一个极其...

    banana_pi 评论0 收藏0
  • laravel5.5手写教程4Eloquent ORM分页及软删除

    摘要:从而达到了软删除。不过,你可以通过在查询中调用方法来强制查询已被软删除的模型方法也可以被用在关联查询只取出软删除数据会只取出软删除数据恢复被软删除的模型有时候你可能希望取消删除一个已被软删除的模型。 Laravel 有三宝,路由、容器和 Eloquent ORM,Eloquent ORM。我个人一直比较推荐于在实际操作中学习,之前简单了解了路由和Eloquent ORM的基本用法,今天...

    mindwind 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<