PHP教學- ActiveRecord 介紹

先簡單介紹一下Active Record:
Active Record(中文名:活動記錄)是一種領域模型模式,特點是一個模型類別對應關係型資料庫中的一個表,而模型類別的一個範例對應表中的一行記錄。Active Record 和 Row Gateway (行記錄入口)十分相似,但前者是領域模型,後者是一種資料源模式。關係型資料庫往往通過外鍵來表述實體關係,Active Record 在資料源層面上也將這種關係映射為物件的關聯和聚集。
Active Record 適合非常簡單的領域需求,尤其在領域模型和資料庫模型十分相似的情況下。如果遇到更加複雜的領域模型結構(例如用到繼承、策略的領域模型),往往需要使用分離資料源的領域模型,結合 Data Mapper (資料映射器)使用。
Active Record 驅動框架一般兼有 ORM 框架的功能,但 Active Record 不是簡單的 ORM,正如和 Row Gateway 的區別。著名的例子是全堆疊(Full Stack) Web 開發框架 Ruby on Rails ,其預設使用一個純 Ruby 寫成的 Active Record 框架來驅動 MVC 中的模型層。
在 Martin Fowler 的 《企業應用架構模式》 一書中曾詳細敘述了本模式。

以下是著名的 Active Record 驅動框架:
SQLObject(Python)
Ruby on Rails ActiveRecord (Ruby)
Yii Framework ActiveRecord (PHP)
Castle ActiveRecord (.NET)

以下是 ActiveRecord 小範例:

原本 PHP 的做法:
mysql_query('SELECT * FROM mytable');

使用 CodeIgniter ActiveRecord:
$this->db->get('mytable');

留言

這個網誌中的熱門文章

c語言-關於#define用法

CMD常用網管指令

PHP 與 JavaScript 之間傳值利用 json