phpar模型实践

13
PHP-AR

Upload: bill-zhao

Post on 18-Aug-2015

32 views

Category:

Engineering


10 download

TRANSCRIPT

Page 1: Phpar模型实践

PHP-AR模型实践

Page 2: Phpar模型实践

章节

• 背景

• 主流 ORM

• PHPActiveRecord

• 实战应用

• 单元测试

• 总结

Page 3: Phpar模型实践

背景

• 关系对象模型( ORM)

• 简单(隐藏数据访问细节,没有 SQL)

• 传达性(数据库结构被任何人都能理解的语言文档化)

• 精确性(基于数据模型创建正确标准化了的结构)

Page 4: Phpar模型实践

主流 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/)

Page 5: Phpar模型实践

PHPActiveRecord介绍

ORM 传统

数据层独立

业务层独立

SQL拼接

对象与关系

语义化

无 SQL

Page 6: Phpar模型实践

PHPActiveRecord介绍

Config CRUD

FinderCallback

Page 7: Phpar模型实践

实战应用

业务模型

需求分析

数据库设计

Page 8: Phpar模型实践

需求分析

成绩管理

成绩基本信息 成绩明细

试卷管理试卷基本信息 试卷题目

试题管理试题分类 试题基本信息

Page 9: Phpar模型实践

数据库设计

Page 10: Phpar模型实践

业务模型

对象试题

题项

试卷

成绩

关系试卷 (m:n)试题

试题 (1:m)题项

试题 (m:1)题类

试卷 (1:m)成绩

模型试题 :CRUD

试卷 :发布

试卷 :开考

试卷 :交卷

试卷 :批阅

成绩 :查阅

Page 11: Phpar模型实践

单元测试

数据准备 代码编写

CRUD 业务功能

Page 12: Phpar模型实践

总结

• ORM VS 开发效率

• ORM VS 编码成本

• 复杂 SQL

• 性能报告

Page 13: Phpar模型实践

谢谢