THinkPHP是国内比较有代表性的PHP开发框架,支持MVC开发模式。ThinkPHP的ORM(Object Relation Mapping)是为方便开发者使用数据库开发的一个存储访问层,框架设计图片如下:
thinkPHP ORM 框架采用Active Record模式(简称AR)来设计实现。
相关推荐:《ThinkPHP教程》
何谓Active Record模式?
就是用一个AR类关联数据库的一张表,每个AR对象对应表中的一行数据;对象的属性映射到数据行的对应列。
例如,一个Customer AR类关联到数据库中的customer表,该AR类的name属性代表customer表中的名字是name的字段。
在thinkPHP中,所有AR类的基类是Model类,Model类通过名字关联到数据库中的表,Model类的构造函数如下:
public function __construct($name='',$tablePrefix='',$connection='') @param string $name 模型名称 * @param string $tablePrefix 表前缀 * @param mixed $connection 数据库连接信息
Model类的数据CURD(create,update,retrive,delete)操作, 通过数据库抽象类Driver的具体实现,从而可以通过配置,方便的使用MySQL或Oracle。
通过这样的设计实现,可以获得如下好处:
1. 具体数据库不论是MySQL,还是Oracle,或是从MySQL切换到Oracle,在驱动实现之上的代码不会受到任何影响;
2. 数据库表映射为AR类,数据库的CURD操作由AR类负责解释执行,这样符合面向对象的设计思想;并且是脱离了具体SQL语句的编写,代码更简洁不易出错。
Atas ialah kandungan terperinci thinkphp有orm吗. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!