一切都是基于laravel的,所以首先当然是要先熟悉laravel了
概述
一个项目的创建
在一个项目中,我们会首先从快速开发模板来创建项目,而不是直接使用laravel创建.其中进行了一些我们几乎每个项目都要进行的配置,如语言/时间/日志的形式等等,还包括一些依赖库的引入(稍后会在第三方引用库介绍中详细说明).
然后根据我们的需要引入基础功能库,工具库也是必须要引入的.其他的管理端功能/基本的用户账户能力库/微信库按需求引入.
最后根据我们的业务情况,引入业务库或者在项目中直接完成具体业务代码.
云端项目情况
云端项目除了除了纯web前端项目(主要是微信端项目)外,主要有以下几个:
- 微信开放平台项目:用于支持其他项目
- 商场项目(管理端和微信端接口):包含各商场业务
- 企业号项目(管理端/微信端接口/企业号服务商):目前包含两个应用(问答应用和党建应用:在线学习/在下考试/选课)
- 其他临时项目都在一个temp项目中编写运行(管理端和微信端接口)
- 其他需要长期维护的项目可能也会开一个项目都放在一起维护:比如网站等
基础功能库介绍
工具库(easy-tool)
- 包含常用的一些工具和操作:比如日志操作
- 包含异常处理,会作为整个项目的异常处理中心
- 在服务提供者中会进行很多项目通用的初始化和注册,比如:自定义验证/自定义响应
把项目的异常处理中心和一些服务提供中要进行的注册/初始化放在这里,是为了便于升级不同项目的这部分项目的操作
基础用户账户能力库(easy-user)
提供了用户注册/登录/验证码/查询用户信息等基本接口和配套的管理端功能;使用oauth2.0授权(使用laravel-passport)
管理端功能库(laravel-admin)
在z-song/laravel-admin的基础上进行拓展.增加了自动校验权限/自动根据账户权限生成管理端菜单等功能和大量优化.
微信功能库(开放平台/企业号服务商)
在以下三个库的基础上进行扩展,主要扩展了企业号服务商的功能.laravel-wechat中也拓展了部分微信开放平台的功能.目前该库到时的官网也正在进行企业号功能的开发,完成后可以择机进行升级.
overtrue/laravel-wechat
overtrue/wechat
overtrue/socialite
第三方引用库介绍
一般常用的第三库及配置都在easy-tool库处理了
- rap2hpoutre/laravel-log-viewer :laravel日志浏览库,很方便.
- zgldh/qiniu-laravel-storage:管理端库(laravel-admin)如果要使用七牛需要引入;包括额外编写的七牛token接口也需要使用该库.
- uuland/aliyun-sls-sdk-php:阿里云日志库的优化版
- barryvdh/laravel-cors:配合laravel使用的管理跨域的库
- doctrine/dbal:laravel的迁移要是想改数据结构,需要引入该库.
- maatwebsite/excel:导入导出excel/csv等文件的库
- laravel/passport:oauth2.0授权需要使用,laravel文档有介绍
其他
- composer 使用慢的话,国内镜像:https://pkg.phpcomposer.com/
- 部署:github+CircleCI+deployer