首頁  >  文章  >  後端開發  >  php有orm嗎

php有orm嗎

(*-*)浩
(*-*)浩原創
2019-10-18 15:05:452943瀏覽

ORM是透過使用描述物件和資料庫之間映射的元數據,將程式中的物件自動持久化到關聯式資料庫中。本質上就是將資料從一種形式轉換到另外一種形式。

php有orm嗎

ORM提供了所有SQL語句的生成,程式碼人員遠離了資料庫概念。從一個概念需求(例如一個HQL)映射為一個SQL語句,並不需要什麼代價,連1%的效能損失都沒有。真正的效能損失在映射過程中,更具體地講,是在物件實例化的過程中。 (建議學習:PHP影片教學

目前PHP 開源比較有名的 ORM 有以下幾個:

Propel

Propel是一個適用於PHP5的ORM映射(Object Relational Mapping)框架,它基於Apache Torque提供物件持久層支援。它透過XML格式的模式定義檔和對應的設定檔來產生SQL和類,它允許你使用物件取代SQL來讀寫資料庫表中的記錄。 Propel提供一個生成器來為你的資料模型建立SQL定義檔和PHP類。開發者也可以十分簡單的客製化產生的類,我們還可以透過XML, PHP類和Phing建置工具把Propel整合到已有的應用開發框架中去.例如PHP框架symfony的1.2以前的版本就是預設使用了精簡版的Propel作為預設ORM框架。

Doctrine

Doctrine是一個PHP的ORM框架,它必須運行在>=php5.2.3版本上,它是一個功能強大的資料抽象層。

它的一個主要特徵是使用物件導向的方式來實現資料庫查詢的封轉,它底層透過一個類似Hibernate HQL的DQL的查詢語句進行資料庫查詢,這使得開發的靈活性更強,大大減小了重複程式碼。相較於Propel,Doctrine的優點在於它支援支援全文檢索,Doctrine的文件一直比Propel要全面豐富,社群更活躍,而且使用起來更自然、更易閱讀、更接近原生SQL。性能方面也略微優於Propel。同樣你也可以很方便的把Doctrine整合到現有的應用框架中去,例如PHP框架symfony的1.3以後的版本將Doctrine作為預設的ORM框架,同時也可以將Doctrine和Codeigniter整合起來。

EZPDO

EZPDO是十分輕量級的PHP ORM框架。 EZPDO的作者的本意旨在降低複雜的ORM學習曲線,盡可能在ORM的運行效率和功能之間做一個平衡點,它是我至今用過的最簡單的ORM框架,我目前還想將它集成到我的CoolPHP SDK中來,而且運作效率相當不錯,功能也基本上能滿足需求,只不過ESPDO的更新比較緩慢。

RedBean

RedBean是個容易使用,輕量級PHP ORM框架,提供對MySQL, SQLite&PostgreSQL的支援。 RedBean架構非常靈活,核心也非常簡約,開發者可以很方便的透過外掛程式來擴充功能。

以上是php有orm嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn