整理一下,找機會 open source 出來。這兩個 class 都是 PHP5 的 class,儘量使用 PHP5 的語言特性以及 interface,讓使用的人更方便使用。
Pix_Db 主要的特性包括:
Pix_Db 主要的特性包括:
- 以 JSON 檔為設定檔。(這點在考慮改寫)
- 以 PDO MySQL 為底層,只打算支援 MySQL。
- 比其他 Database Wrapper 方便的操作方式,像是
$dbh->query('DELETE FROM comment WHERE blogid = ?, articleid = ?', $id, $article);
,而非array($id, $article)
! - 多台 Slave 時的 Round-Robin 以及 failover。
- Master/Slave 架構時,如果判斷 SQL query 有寫入動作,使用 Master 連線。
- 解決單一 handler 配合 transaction 互相干擾的問題。
- 同樣帳號密碼的連線能夠重複使用。
- 只有一個檔案。
- 目前只有 293 行。
Pix_ORM 是一套 ORM framework,但與目前的 ORM framework 不同的地方在於:
- 架構在 Pix_Db 上。
- 不需要指定 columns,也不會到資料庫裡查 table metadata。
- 僅需要指定 primary key。
- 支援 has_one 與 has_many,目前沒打算支援 have_many (many-to-many),因為可以用前兩者配合出來。
- 可以自己寫 aliases 做到更特殊的效果。
- 目前只有 510 行。
目前還在研究要用什麼 license,以及程序問題...
沒有留言:
張貼留言