聲明:本文同時發表於一搏IT社區、CSDN、昨夜風個人網站,歡迎任何網站/個人轉載,但請保留聲明資訊和作者資訊,多謝合作!
作者:靳英輝(昨夜風)
版本:Jpage v2.0 for php
發表:2008-12-02
______________________________________________________________
在先後推出針對Java、.Net2.0開發語言下的Jpage兩版分頁之後,隨著一搏IT社區、abcbaby、加拿房產網、中國開源網的開發需求,以及新東方一搏PHP01班的盛大起航,對php下的Jpage分頁需求,提上議程。
版本曆史:
2007年10月,Jpage分頁php版誕生,初步應用於幾個項目中。
2007年11月,我和PHP01的學生們,一起對Jpage第一版進行了全面的測試和完善。
2008年12月,Jpage 2.0 php的誕生。
Jpage v2.0 for php
特點:
1、通用的資料封裝。
只需包含mysql.php,解決所有增、刪、改、查的問題。執行SQL語句、執行過程、返回數組結果、返架一行結果、返回一行一列,盡在其中。
對資料持裝類,吸納了微軟的.NET資料層的思想,結合了實際開發需求,將大大提高開發效率。
2、只需一條查詢語句。
使用簡單、開發快捷、最優查詢一直是Jpage系列分頁的核心思想。只需一條語句,即支援普通查詢、海量查詢,並同時得到多種分頁樣式, 這就是Jpage分頁。
3、最佳化小量查詢和海量查詢。
經Mysql5 260萬條資料測試,Jpage分頁執行飛快。明顯優於網上其它分頁以及基於PHP程式層結果集的分頁。在Mysql中,Jpage分頁採用了limit來分頁,這延續了Jpage分頁“需多少,取多少”基於資料庫層面的分頁思想。
4、內建三種頁尾風格。
為瞭解決不同的顯示需求,Jpage分頁內建了三種頁尾顯示風格:
預設樣式:適合一般企業需求。
簡捷樣式:適合窄頁面顯示需求。
資料樣式:適合海量資料顯示需求。
除了上述三種風格之外,開發人員還可在footPage.php中自訂風格。
5、靈活的頁尾樣式控制。
你可以定義諸如:#page a{color:red}樣式表檔案,來得到不同顯示效果。
6、與Jwork架構無縫整合。
作為Jwork架構的前身,Jpage分頁,它不是一個在戰鬥。Jwork架構是軟體開發的經驗集、通用集、效率集。
對比:
一般分頁/自定分頁存在的問題:
1、網址傳參的問題。
網上有些分頁,包括我們自己寫的分頁,往往忽略了網址傳參的問題。我們知道,分頁的網址一般為:
list.php list.php?page=2,
但當網址有參數時,
list.php?name=yiboit&id=20
一般分頁則為:list.php?page=2
Jpage分頁為:list.php?name=yibit&id=20&page=2
2、書寫複雜、代碼冗餘、和資料層獨立。
一般的分頁,和資料層獨立,並且和視圖(頁面)過於耦合,在使用上、開發上、運行效率上都是值得商榷的。
Jpage分頁,已先後發布Java、.Net、PHP三版,基於同一思想,經過百萬級項目測試、壓力測試,尚未出現任何問題。
Jpage分頁,把分頁作為資料層一個功能,把顯示層(分頁樣式)以設定檔獨立出來,站在“鬆散耦合”的高度,讓開發如此便捷。
3、基於結果集的分頁或基於預存程序。
分頁主要有兩種方案,一種是基於結果集的指標,一種是基於資料端TOP N的思想。