[置顶] xser php framework 0.2 设计构想

来源:互联网 发布:华为编程大赛题目 编辑:程序博客网 时间:2024/06/03 02:26
/** * xser php framework 0.2 设计构想 *  *鉴于0.1.x 的版本代码过于耦合,目录结构不规范,思路不清晰等原因 *  * 目标 -- 简单易用,层次分明,代码组织规范,轻量级的B/S - MVC框架 * 定位 -- 面向PHP新手的一整套解决方案 *   * 框架以MVC为架构,要充分体现出MVC的优势,做到低耦合,强封装的实现.借鉴Qee/Flea的实现, *  在功能上从这两个框架中抽取,在使用上围绕 [简单易用] 的原则进行删减. *    * 框架层次: *  * - C [分发器/控制器层]: *  * 整个B/S请求过程中的中央处理器,由分发器对传入的请求进行分析,调用相应的控制器的代码处理. * 在控制器中调用封装好的M[业务逻辑]对输入数据进行处理并获得处理结果,最后将结果传递到V[视图].  *  * 在实现中仍然采用UDI对象来作为资源的目的地标识符,提供对模块和命名的支持. *  * 相应组件:分发器,过滤器,控制器,URI路由,UDI对象 *  * 流程如下: * 请求 -> 入口点 -> 分发器 -> 请求解析: {URI路由解析 || 标准解析}-> 目标资源的[UDI]:  * { *  * 资源不存在 -> 抛出异常 , *  * 资源存在 -> 加载资源对应的过滤器: { * 过滤不成功 -> 抛出异常 , * 过滤成功 -> 初始化对应的控制器 -> 执行对应的action: { * 调用M[业务逻辑]并获得处理结果 * } -> 往 V[视图]里填充数据 并返回 * } * } *   * - V [视图层]:  *  * 用于呈现内容给用户(也就是将程序运行的结果返回给浏览器显示). *  * 在实现中仍然采用UDI对象作为视图元素的定位方案,提供对模板继承,局部自定义的实现 *  * 相应组件:视图对象,视图解析器,UDI对象 *  * - M [业务逻辑层]:  *  * 用于封装与业务逻辑有关的代码和数据. *  * 在实现中并不使用模型对应表的概念,将业务逻辑与实体存储操作混杂在一起,此层完全对业务逻辑的处理 * 在模型中提供 对实体存储的对象引用.方便项目的移植. *  *  *  - P [实体存储层]:  *  * 提供对数据进行实体化存储的支持,供M层调用.依赖于 数据源 组件. *  * 数据源 组件在实现中用来对实体操作进行封装,通过dbo_string来获取操作器对象的实例,对外部提供一个 * 简单统一的CRUD接口,对XML,TEXT,SQLDB进行封装.但是此处的封装并不会实现什么DSL操作脚本,只是提供 *  基本操做功能,比如使用SQLDB,在实体存储代码中完全可以 调用 SQLDB提供的其它方法. *  * 真心的希望大家能够喜欢 ....  */

 

  • 大小: 13.5 KB
  • 查看图片附件
0 0
原创粉丝点击