用例
Doctrine遵循Active Record Pattern模式(一個對象對應一個數據表),例如,開發者創建一個新的user,他/她可以使用下面的代碼來代替SQL語句:
$user = new User();
$user->name = "john";
$user->password = "doe";
$user->save();
echo "The user with id $user->id has been saved.";
對象關係功能可被增加到對象本身,而不是分散在各個應用程式中,這使得軟體更易維護。
功能
Doctrine可以從已有的資料庫生成對象類,開發者可以指定表關係及添加自定義函式,而不需要像其他框架那樣去生成和維護複雜的XML數據。
Doctrine的另一個特點是使用面向對象寫數據查詢語言,這被稱為DQL(Doctrine Query Languages)。
Doctrine會自動執行joins並會獲取與其關聯的對象,小型項目可以輕鬆地創建而不必寫查詢語句。
其他主要功能
1.支持樹形結構的數據
2.支持hooks(能夠難和修改資料庫input和output的功能)和事件監聽
3.支持快取,利用memcached, SQLite或APC
4.ACID傳輸
5.model行為 (sluggable , timestampable ,嵌套設定,國際化,審計日誌,搜尋索引)
6.資料庫升級