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語句的編寫,程式碼更簡潔不易出錯。
以上是thinkphp有orm嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!