phpar模型实践
TRANSCRIPT
PHP-AR模型实践
章节
• 背景
• 主流 ORM
• PHPActiveRecord
• 实战应用
• 单元测试
• 总结
背景
• 关系对象模型( ORM)
• 简单(隐藏数据访问细节,没有 SQL)
• 传达性(数据库结构被任何人都能理解的语言文档化)
• 精确性(基于数据模型创建正确标准化了的结构)
主流 ORM介绍
• [Propel] ( http://propelorm.org/)
• [Doctrine] ( http://www.doctrine-project.org/)
• [ActiveRecord] ( http://www.phpactiverecord.org/)
• [Eloquent] ( https://github.com/illuminate/database)
• [Hibernate] ( http://hibernate.org/)
PHPActiveRecord介绍
ORM 传统
数据层独立
业务层独立
SQL拼接
对象与关系
语义化
无 SQL
PHPActiveRecord介绍
Config CRUD
FinderCallback
实战应用
业务模型
需求分析
数据库设计
需求分析
成绩管理
成绩基本信息 成绩明细
试卷管理试卷基本信息 试卷题目
试题管理试题分类 试题基本信息
数据库设计
业务模型
对象试题
题项
试卷
成绩
关系试卷 (m:n)试题
试题 (1:m)题项
试题 (m:1)题类
试卷 (1:m)成绩
模型试题 :CRUD
试卷 :发布
试卷 :开考
试卷 :交卷
试卷 :批阅
成绩 :查阅
单元测试
数据准备 代码编写
CRUD 业务功能
总结
• ORM VS 开发效率
• ORM VS 编码成本
• 复杂 SQL
• 性能报告
谢谢