Yii構架特性
模型-視圖-控製器(MVC)設計模式:Yii在WEB編程中采用這一成熟的技術從而可以更好的將邏輯層和表現層分開。
數據庫訪問對象(DAO)和Active Record:Yii允許開發者模型數據庫中的數據對象,從而減少他們在寫很長和重複的SQL語句上的精力。
與jQuery整合:作為最流行的JavaScript框架之一,jQuery可以編寫高效而靈活的JavaScript接口。
表單輸入和驗證:YII使得收集表單輸入非常容易和安全。 Yii擁有一套確保數據的有效性的驗證器,它也有輔助方法和部件,顯示驗證失敗時的錯誤。
Web 2.0部件:由jQuery的支持,YII配備了一套Web 2.0的部件,如自動完成輸入字段,TreeView等等。
身份驗證和授權:Yii具有內置的身份驗證支持。它也支持通過分層的基於角色的訪問控製(RBAC)的授權。
主題:它能夠瞬間改變一個Yii應用的視圖。
Web服務:Yii支持自動生成複雜的WSDL服務規範和管理Web服務請求處理。
國際化(I18N)和本地化(L10N):Yii支持消息轉換,日期和時間格式,數字格式和界麵本地化。
分層緩存方案:Yii支持數據緩存,頁麵緩存,片段緩存和動態內容。緩存的存儲介質,可以輕鬆地更改而不觸及應用程序代碼。
錯誤處理和日誌記錄:錯誤的處理很好的呈現出來,日誌信息可以分類,過濾並分配到不同的位置。
安全:Yii配備了許多安全的措施,以幫助安全的Web應用程序,以防止網絡攻擊。這些措施包括跨站點腳本(XSS)預防,跨站點請求偽造(CSRF)預防,Cookie篡改預防等。
符合XHTML:Yii的組件和命令行工具生成的代碼符合XHTML標準。
自動代碼生成:Yii提供了可以自動生成的代碼的工具,根據你的需要,例如生成一個程序骨架,CRUD應用等等。
完全麵向對象:Yii框架堅持嚴格的麵向對象編程範式。它冇有定義任何全局函數或變量。而且,它定義的類層次結構允許最大的可重用性和定製。
友好的使用第三方代碼:Yii精心設計讓它第三方代碼非常好的工作。例如,你可以在你的Yii應用程序中使用PEAR或Zend Framework的代碼。
詳細的文檔:每一個單一的方法或屬性都非常清楚的記錄著。同時提供了一個全麵的教學和一些新手教學。
擴展庫:Yii提供了一個組成用戶提供組件的一個擴展庫,這使得上述功能列表是永無止境的。