必威电竞|足球世界杯竞猜平台

doctrine
來源:互聯(lián)網(wǎng)

Doctrine是一組PHP庫,主要專注于提供持久化服務(wù)和相關(guān)功能。其最知名的子項目包括基于數(shù)據(jù)庫抽象層的對象關(guān)系映射(NHibernate)。Doctrine的關(guān)鍵特性之一是,可以使用Doctrine Query Language(DQL)編寫數(shù)據(jù)庫查詢,這是一種面向?qū)ο蟮?a href="/hebeideji/6991721846561056604.html">SQL方言。symfony和Laminas等主要PHP框架都有官方支持Doctrine,而LaravelCodeIgniter等框架也有第三方Doctrine包可供使用。

用例

Doctrine遵循Active Record Pattern模式(一個對象對應(yīng)一個數(shù)據(jù)表),例如,開發(fā)者創(chuàng)建一個新的user,他/她可以使用下面的代碼來代替SQL

$user = new User();

$user->name = "john";

$user->password = "doe";

$user->save();

echo "The user with id $user->id has been saved.";

對象關(guān)系功能可被增加到對象本身,而不是分散在各個應(yīng)用程序中,這使得軟件更易維護。

功能

Doctrine可以從已有的數(shù)據(jù)庫生成對象類,開發(fā)者可以指定表關(guān)系及添加自定義函數(shù),而不需要像其他框架那樣去生成和維護復(fù)雜的XML數(shù)據(jù)。

Doctrine的另一個特點是使用面向?qū)ο髮憯?shù)據(jù)查詢語言,這被稱為DQL(Doctrine Query Languages)。

Doctrine會自動執(zhí)行joins并會獲取與其關(guān)聯(lián)的對象,小型項目可以輕松地創(chuàng)建而不必寫查詢語句。

其他主要功能

1.支持樹形結(jié)構(gòu)的數(shù)據(jù)

2.支持hooks(能夠難和修改數(shù)據(jù)庫input和output的功能)和事件監(jiān)聽

3.支持緩存,利用memcached, SQLite或APC

4.ACID傳輸

5.model行為 (sluggable , timestampable ,嵌套設(shè)置,國際化,審計日志,搜索索引)

6.數(shù)據(jù)庫升級

參考資料 >

生活家百科家居網(wǎng)