php開源框架,支持mvc,orm,分布架構:PADPHP
PADPHP是基于php的一個開發框架,是我們項目開發過程中逐步總結出來的一套開發框架。 PADPHP是發展初期,得到了一些朋友的幫助,使得框架逐漸完善,形成現在的版本。當然,現在希望更多的朋友參與進來,一起完善這個框架。 框架提供了很少的對象和函數,但足以解決90%的需求,性能和開發敏捷性始終是我們最關注的。
框架階段發展圖:
- 1階段 -- 一個簡單的sql處理器和管理數據庫連接
- 2階段 -- 加入緩存管理,數據表模型,數據庫讀寫分離,支持多臺機器讀
- 3階段 -- 支持orm,mvc等,但思路不清楚,導致orm效率較低
- 4階段 -- 對phpmoo全部代碼進行重構,思路清楚,效率較高
- 5階段(未來) --打算對關鍵部分用c擴展實現,進一步提升運行效率
PADPHP一些基本特性:
- 極高的性能,因為框架沒有花哨的東西,特別注重性能,性能高于zend等框架。框架定位于應付大流量。
- Orm基于領域模型思想,也就是數據庫表的單條數據對應一個對象。
- Mvc 足夠靈活,提供了大多數基本的widget(也叫helper),支持用戶自定義widget,支持路由解析和反解析,支持action轉向,更靈活的 render。使用原生php作為模板,有更好的性能,但在模板級保護了orm數據不能修改。模板支持layout機制。
- 對緩存考慮得很多,框架認為的緩存實際上是數據庫的中間層,支持單條數據緩存,查詢結果緩存。緩存控制的核心思想是版本號控制。開啟緩存保證90%對數據庫的0查詢,避免數據庫瓶頸。一個application的可以分布在多臺機器上,版本號緩存存儲端統一使用一個就可以保證緩存的一致性,版本號緩存存儲端使用 memcache的話負擔很小。
- Sql查詢更簡單,提供了一系列Sql的函數,關聯對象的查詢不需要用戶關心 Join。
- 基于領域模型,支持數據延遲加載,不需要用戶在sql中指明需要的字段,小字段和大字段會分開加載。
- Orm 的對象映射配置支持基于約定,配置工作很簡單明了。支持belong_to,has_one,many_to_many,has_many,關系的映射定義基于belong_to,has_one,many_to_many和has_many只是一個簡單的聲明。
- Orm支持工作單元,所有數據的操作可以不需要用戶save,但用戶也可以手工save,所有的數據更改會自動保存,支持事務和非事務。Orm的修改提交到數據庫時會自動合并 sql語句,保證了效率。
- 支持數據庫讀寫分離,只是讀從庫按百分比讀取,支持應用多臺機器分布。
- 整個框架追求小而精,目前壓縮發布的所有代碼小于120K。
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!