Prado

Prado

PRADO是在PHP5環境下的一個基於事件驅動和基於組件的WEB應用開發框架。使用PRADO開發WEB應用,你主要需要做的工作就是使用已有的組件,設置組件( Componet)的屬性,為控制項(Control )組件的各種事件編寫對應的處理函數,然後把這些組織成一個個的頁面。

簡介


PRADO是一個基於組件和事件驅動的PHP5開發框架。它以組件,事件,屬性來代替傳統web開發中的程序,URLs和查詢參數。一個PRADO 組件是由一個說明文件(XML),一個HTML模板和一個PHP類組件。一個個PRADO組件組合在一起形成大型組件或完整的PRADO頁面。

特點


基於組件的編程方式使代碼的重用極為方便。一些重複性的單調的工作比如表單輸入的驗證,頁面狀態的管理等都可以使用PRADO已經提供的組件來處理。開發者也可以通過繼承現有的組件或者組合現有的組件來開發新的組件滿足要求。另外一些新的組件即將發布。
總來的說,PRADO 為PHP的編程人員提供了以下的有益之處:
可重用性 - 符合PRADO組件標準的代碼是高度可重用的。
易於使用 - 使用PRADO組件非常簡單,通常只需要配置它們的屬性,編寫相關的事件處理函數。
健壯性 - PRADO讓開發者不再被那些令人厭煩的有很多錯誤的的代碼所困擾。它的代碼都是有對象,方法和屬性組成的;而不是Url地址和各種query參數。PHP5最新的Exception處理機制也被引入進來,讓開發人員能夠精確定位到錯誤代碼的所在行數。
高效 - PRADO開發的Web應用運行很快。PRADO實現了一種緩存機制,使用其開發的應用的運行效率能夠和那些通常使用的模版引擎開發的應用的運行效率相媲美。
團隊協作 - PRADO允許內容和表現方式分離。組件,尤其是頁面,將內容(邏輯)和表現方式分別保存在不同的文件中。
目前已經有很多PHP的框架,Mojavi, WACT , PHP.MVC, Phrame等等。它們主要是建立一套鬆散的PHP代碼組織方式(比如 Model-view-controller)。其中一些更多的面向開發一個內容管理系統,並提供了諸如用戶管理模塊等更多的功能。
和這些框架相比,PRADO更專註於建立一個代碼重用和事件驅動的編程標準。如果你曾經用Delphi或者Visual Basic等這些RAD開發工具來開發Windows程序的話,那麼你會發現使用PRADO來開發WEB應用是非常類似的,你可以很快就掌握PRADO來進行WEB應用的開發。大多數情況下,你要做的僅僅是設置組件的屬性和響應組件的事件。更高層次的代碼重用,比如前面所說的用戶管理模塊,可以基於PRADO組件來實現。
PRADO的設計思想起源於Apache Tapestry項目想到的。

原理


下面用一個簡單的例子來說明PRADO框架的工作原理。假定我們現在要使用PRADO來開發一個常見的登錄頁面。首先我們選擇PRADO中的2個TTextBox控制項和1個TButton控制項來分別對應用戶名輸入,密碼輸入和提交按鈕。然後把對應密碼輸入的TTextBox控制項的TextMode屬性設置為"Password",並為TButton控制項的OnClick事件指定一個處理函數login。最後把這些控制項放到頁面模板的合適的位置上,一個功能完善的登錄頁面就實現了。控制項會自己處理好如何顯示數據,如何得到用戶輸入的數據,如何響應用戶的操作等這些事情。例如,TTextBox控制項會顯示一個輸入框讓用戶輸入;用戶輸入的密碼會被顯示為*號,而開發者在代碼中可以通過讀取TTextBox控制項的Text屬性來獲取用戶實際輸入的密碼;當用戶點擊了提交按鈕的時候,login 函數將會被自動調用。這和傳統的PHP編程處理方式很不一樣。使用傳統的PHP編程方式,開發人員需要使用HTML標籤來顯示用戶輸入框和按鈕,同時需要自己解析POST數據來獲得用戶的輸入以及判斷按鈕是否被點擊了等等這些事情。