文档章节

Yii2项目设计文档方案

 清天君
发布于 2017/02/15 16:01
字数 1000
阅读 21
收藏 1

项目设计文档方案1

方案说明:

方案使用yii2-advanced作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用绑定不同的二级域名。 图片文件资源使用独立应用上传到统一的存储目录,并绑定二级域名统一访问。 网站前台应用按功能又分成了多个应用,各个应用之间需要实现共享登录状态。

App-api Api数据访问接口应用 App-mobile 手机版网站 App-obeject-storage 统一图片文件资源上传应用 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台(根据功能又分成多个应用) Static 静态资源目录(css/js/img) Storage 统一图片文件资源上传目录

参考网站:http://www.hgrmall.com/

目录说明: 结构图1

共享登录状态实现:

由于网站前台应用分成了多个应用,每个应用绑定了不同的二级域名,不同应用之间需要共享登录状态。 Yii2提供了redis扩展,可以使用redis服务保存session和缓存数据,并结合yii2 session域名配置可以实现登录状态共享。

图片文件资源上传实现:

由于网站按系统功能需求分成了多个应用,每个应用绑定了不同的二级域名,各应用可能存在上传图片文件的需求。 图片文件资源使用独立应用object-storage上传到统一的存储目录,并将存储目录绑定二级域名。 在其他应用中使用curl的方式调用object-storage的文件上传接口上传文件,并获得返回的文件存储链接。 使用nginx的缓存代理服务缓存静态文件资源。

文件上传存储服务也可以使用阿里云OSS存储服务或者Amazon S3存储服务方案代替。

系统日志保存到mongodb:

由于网站按系统功能需求分成了多个应用,每个应用绑定了不同的二级域名,各应用的系统日志配置MongoDbTarget保存到mongodb。

API开发方式:

网站API开发实现使用Yii2提供的RESTful Web Services架构规范。

项目设计文档方案2

方案说明:

方案使用yii2-advanced作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用绑定不同的二级域名,各个应用需求功能划分独立,不需要共享登录状态。 图片文件资源使用独立应用上传到统一的存储目录,并绑定二级域名统一访问上传资源文件。

App-api Api数据访问接口应用 App-mobile 手机版网站 App-obeject-storage 统一图片文件资源上传应用 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台 Static 静态资源目录(css/js/img) Storage 统一图片文件资源上传目录

参考网站:http://www.qschou.com/

目录说明: 结构图2

项目设计文档方案3

方案说明:

方案使用yii2-basic作为基础开发框架,按功能需求将网站系统分成了不同的独立应用实现。 每个应用作为单独的系统开发,单独部署,互不影响,只共享数据库。 每个应用绑定不同的二级域名,各个应用需求功能划分独立,不需要共享登录状态。 图片文件资源上传不使用单独的应用上传,而是在各个独立应用中自行上传到统一的存储目录,并将上传目录绑定二级域名统一访问上传资源文件。

App-api Api数据访问接口应用 App-mobile 手机版网站 App-wechat 微信功能应用 App-backend 网站后台 App-frontend 网站前台

目录说明:

结构图3

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 23
码字总数 5322
作品 0
成都
小紫羽/yii2-fast-api

yii2-fast-api yii2-fast-api是一个Yii2框架的扩展,用于配置完善Yii2,以实现api的快速开发。 此扩展默认的场景是APP的后端接口开发,因此偏向于实用主义,并未完全采用restfull的标准,方便...

小紫羽
2017/01/20
0
0
这些最热门的 PHP 框架,哪一款是你的菜?

原文出处:opensource 译文出处:开源中国—两味真火 PHP 是世界上最流行的编程语言之一,广泛用于主要的项目中。例如,Facebook 就是利用 PHP 来创建和维护他们的内部系统;WordPress 内部基...

opensource
2016/12/27
0
0
yii2 window composer 安装

最近在学习PHP,着手找一个能快速上手的框架来学习。一开始看兄弟连视频时候讲师推荐ThinkPHP。于是我选择了ThinkPHP来尝试,这个框架的上手难度系数不大,能快速开发一款应用。适合小型的企...

Gjanuary
2017/06/06
0
0
参考案例Shop-React-Native,后端Yii2

Shop-React-Native Shop-React-Native 是基于 React Native 和 Redux 实现的电商类APP,同时运行在iOS和Android平台上。持续更新中,欢迎一起讨论学习! 如果你支持这个项目,请 Star and F...

太阳黑子
2016/11/01
103
0
Yii2 使用 Beanstalk 队列

安装 安装服务端 根据官方的教程安装,一条命令搞定。 安装 Yii2 客户端扩展 在你 Yii2 项目中执行 安装管理 Beanstalk 队列的 Web 系统 此项目是一个单独的系统,可以查看和管理队列任务 使...

小田天
2016/11/18
26
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

es6

在实际开发中,我们有时需要知道对象的所有属性,原生js给我们提供了一个很好的方法:Object.keys(),该方法返回一个数组 传入对象,返回属性名 var obj = {'a':'123','b':'345'};console.l...

不负好时光
24分钟前
0
0
叮!您收到一份超值Java基础入门资料!

摘要:Java语言有什么特点?如何最大效率的学习?深浅拷贝到底有何区别?阿里巴巴高级开发工程师为大家带来Java系统解读,带你掌握Java技术要领,突破重点难点,入门面向对象编程,以详细示例...

全部原谅
26分钟前
1
0
web.xml容器加载顺序

容器对于web.xml的加载过程是context-param >> listener >> fileter >> servlet

Aeroever
28分钟前
2
0
Docker容器日志查看与清理

1. 问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 2. 解决方法 2.1 找出Docker容器日志 在linux上,容器日...

muzi1994
29分钟前
0
0
J2Cache 和普通缓存框架有何不同,它解决了什么问题?

不少人看到 J2Cache 第一眼时,会认为这就是一个普普通通的缓存框架,和例如 Ehcache、Caffeine 、Spring Cache 之类的项目没什么区别,无非是造了一个新的轮子而已。事实上完全不是一回事!...

红薯
31分钟前
506
14

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部