构造自己的web框架 --- Ddf

Ddf 框架设计概要

============================================

前言

接触php框架,是起始于在河北大学化学实验室平台的项目中。当时项目的开发是基于一套 SD框架(Simple Develop 简单开发)。SD是由野马来开发完成
SD从根本的意义上来说,算不上是什么完整的框架。SD实现用apache的Rewrite来实现项目的单一入口,执行类加载器Mapping定位类, 然后统一定位到类
的入口方法 run方法,在run方法内完成逻辑关系的操作。基本对象关系映射(Object Relational Mapping,简称ORM),来完成数据层的基本操作。

优点:框架小巧灵便适合新手阶段的部署开发,思路清晰简便明了,很容易能看清楚整个流程的走向 适合新手级phper开发。
缺点:扩展行不高,可定制性不高,功能性太弱。

后来在视觉中国的时候,基本的项目开发都是基于nightsalier 开发的Doggy(),Doggy相对来说功能上更趋完善。在存储层 缓存层 权限控制层都有所体
现。它的路由规则相对来说更复杂。期间有了namespace  model  action的概念区分。namespace是一个相对单一的功能系统。model层主要是对数据逻辑进
行操作 业务逻辑主要在action层去体现。

Doggy中 对http协议进行框架级别的封装。可以在路由到相关action的时候,去http request进行相应的处理。ActiveRecord模式应该事Doggy的一个亮点
使得ORM更理想,并且实现了多表联合查询,延迟加载,关联更新关联删除。

在doggy中,有了前置和后置拦截器的概念,可以根据与设定的拦截器在到达具体类的具体方法之前,拦截器进行拦截然后路由到相关的接口。应用比较不
错的是权限配置拦截器,根据当前浏览者状态和权限情况,调用不同的接口方法来实现权限控制。

存储层doggy提供了两种可以选择的存储机制,分布式系统和文件系统。有不同的provider实现相同的interface,然后后统一的manager去调用。
cache层dogy也提供了两种可选择的存储机制,文件系统和memcache(内存缓存)。并且实现了一种组的概念,利用组对相对应的cache进行管理。

优点:功能模块齐全 易扩展
缺点:框架部署难度较大  执行流程烦琐 不适宜新手级phper开发部署。

总上所述,决定开发一套适应自己的web框架,来提高自己的开发效率,综合性的去理解程序设计和框架设计的思想。

========================================================================

设计原则:

多方式多分支支持,比如存储分布式和文件系统的双重支持 路由规则的设定和选择;
配置明细化,按照不同的功能和模块设定不同文件进行不同配置(框架将使用yml格式配置文件);统一加载和依赖注入并存,框架级配置需在框架启动前
加载相应配置数据,应用级配置需在用到相关配置时临时加载配置文件;

技术实施:

尽可能去应用php5的新功能新特性 去实现新功能;
尽可能去了解数据库服务器的特性,了解数据库的特性,对其做相应的优化;
尽可能去了解web服务器的特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值