文档章节

Yii2项目设计文档方案

 清天君
发布于 2017/02/15 16:01
字数 1000
阅读 18
收藏 1
点赞 0
评论 0

项目设计文档方案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
博文 20
码字总数 4863
作品 0
成都
小紫羽/yii2-fast-api

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

小紫羽 ⋅ 2017/01/20 ⋅ 0

yii2 window composer 安装

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

Gjanuary ⋅ 2017/06/06 ⋅ 0

Yii2 使用 Beanstalk 队列

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

小田天 ⋅ 2016/11/18 ⋅ 0

参考案例Shop-React-Native,后端Yii2

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

太阳黑子 ⋅ 2016/11/01 ⋅ 0

Yii2 实例管理

Yii2 实例管理 Yii2框架没有提供类似ZendFramework3中提供的ServiceManager.那么Yii2框架是如何管理对象实例的呢? 长时间使用Yii2框架的童鞋一定已经适应了对象中的public变量,以及一个来自y...

Vett ⋅ 2017/12/23 ⋅ 0

【翻译】Yii2 第1章 开始

让我们看看,怎样以最小的代价使用Yii2创建一个站点。目的是学习使用Yii2应用模版的安装过程,并开始体验模版里提供的一系列特性。 一个基本应用 开始使用Yii2最基本和直接的方式,是使用Yii...

zcgly ⋅ 2015/09/15 ⋅ 7

详解Yii2框架中生成URL的方法

前言 在项目中,推荐使用 Yii2 内置的 URL 工具类生成链接,这样可以非常便捷的管理整站的 URL 行为:比如通过修改配置改变整站的URL格式等。URL 更多高级的用法参见官方文档,这篇文章仅仅介...

botkenni ⋅ 06/07 ⋅ 0

Yii 的微信模块--Yii-wechat

Yii-wechat 是基于 Yii2 实现的微信模块, 集成微信模拟器、多公众号管理、扩展开发接口,只需关注功能,微信开发的强劲引擎. 注意 如果是全新使用和,你可以使用 Yii2-app-wechat 微信应用模板(...

红薯 ⋅ 2015/06/02 ⋅ 1

yii2开发遇到的问题以及解决方案

作者:白狼 出处:http://www.manks.top/article/yii2commonproblem_resolve 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法...

白狼栈 ⋅ 2015/10/14 ⋅ 0

Camera360 开源基于 Swoole 的协程企业级微服务框架

今日Camera360正式开源其PHP微服务框架——Micro Service Framework For PHP,这是Camera360社区服务器端团队基于Swoole自主研发现代化的PHP协程服务框架,简称msf或者php-msf,是Swoole的工...

phpboy ⋅ 2017/09/07 ⋅ 11

没有更多内容

加载失败,请刷新页面

加载更多

下一页

个人博客的运营模式能否学习TMALL天猫质量为上?

心情随笔|个人博客的运营模式能否学习TMALL天猫质量为上? 中国的互联网已经发展了很多年了,记得在十年前,个人博客十分流行,大量的人都在写博客,而且质量还不错,很多高质量的文章都是在...

原创小博客 ⋅ 今天 ⋅ 0

JavaScript零基础入门——(十一)JavaScript的DOM操作

JavaScript零基础入门——(十一)JavaScript的DOM操作 大家好,欢迎回到我们的JavaScript零基础入门。最近有些同学问我说,我讲的的比书上的精简不少。其实呢,我主要讲的是我在开发中经常会...

JandenMa ⋅ 今天 ⋅ 0

volatile和synchronized的区别

volatile和synchronized的区别 在讲这个之前需要先了解下JMM(Java memory Model :java内存模型):并发过程中如何处理可见性、原子性、有序性的问题--建立JMM模型 详情请看:https://baike.b...

MarinJ_Shao ⋅ 今天 ⋅ 0

深入分析Kubernetes Critical Pod(一)

Author: xidianwangtao@gmail.com 摘要:大家在部署Kubernetes集群AddOn组件的时候,经常会看到Annotation scheduler.alpha.kubernetes.io/critical-pod"="",以表示这是一个关键服务,那你知...

WaltonWang ⋅ 今天 ⋅ 0

原子性 - synchronized关键词

原子性概念 原子性提供了程序的互斥操作,同一时刻只能有一个线程能对某块代码进行操作。 原子性的实现方式 在jdk中,原子性的实现方式主要分为: synchronized:关键词,它依赖于JVM,保证了同...

dotleo ⋅ 今天 ⋅ 0

【2018.06.22学习笔记】【linux高级知识 14.4-15.3】

14.4 exportfs命令 14.5 NFS客户端问题 15.1 FTP介绍 15.2/15.3 使用vsftpd搭建ftp

lgsxp ⋅ 今天 ⋅ 0

JeeSite 4.0 功能权限管理基础(Shiro)

Shiro是Apache的一个开源框架,是一个权限管理的框架,实现用户认证、用户授权等。 只要有用户参与一般都要有权限管理,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制用户...

ThinkGem ⋅ 昨天 ⋅ 0

python f-string 字符串格式化

主要内容 从Python 3.6开始,f-string是格式化字符串的一种很好的新方法。与其他格式化方式相比,它们不仅更易读,更简洁,不易出错,而且速度更快! 在本文的最后,您将了解如何以及为什么今...

阿豪boy ⋅ 昨天 ⋅ 0

Python实现自动登录站点

如果我们想要实现自动登录,那么我们就需要能够驱动浏览器(比如谷歌浏览器)来实现操作,ChromeDriver 刚好能够帮助我们这一点(非谷歌浏览器的驱动有所不同)。 一、确认软件版本 首先我们...

blackfoxya ⋅ 昨天 ⋅ 0

线性回归原理和实现基本认识

一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商...

wangxuwei ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部