首頁 php教程 php手册 Yii 快速,安全,專業的PHP框架_php基礎

Yii 快速,安全,專業的PHP框架_php基礎

May 16, 2016 am 08:59 AM
php框架 yii

Yii是一个高性能的,适用于开发WEB2.0应用的PHP框架。
Yii自带了丰富的功能 ,包括MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间

官方网站:http://www.yiiframework.com/

Yii快速

Yii 只加载您需要的功能。它具有强大的缓存支持。它明确的设计能与 AJAX 一起高效率的工作。

Yii安全

Yii 的标准是安全的。它包括了输入验证,输出过滤,SQL 注入和跨站点脚本的预防。

专业

Yii 可帮助您开发清洁和可重用的代码。它遵循了 MVC 模式,确保了清晰分离逻辑层和表示层。
 
Yii Framework是一个基于组件、用于开发大型 Web 应用的高性能 PHP 框架。Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。Yii是最有效率的PHP框架之一。Yii是创始人薛强的心血结晶,于2008年1月1日开始开发。

Yii是一个基于组件的高性能PHP框架,用于开发大型Web应用。Yii采用严格的OOP编写,并有着完善的库引用以及全面的教程。从 MVC,DAO/ActiveRecord,widgets,caching,等级式RBAC,Web服务,到主题化,I18N和L10N,Yii提供了今日Web 2.0应用开发所需要的几乎一切功能。事实上,Yii是最有效率的PHP框架之一。
Yii是一个高性能的PHP5的web应用程序开发框架。通过一个简单的命令行工具 yiic 可以快速创建一个web应用程序的代码框架,开发者可以在生成的代码框架基础上添加业务逻辑,以快速完成应用程序的开发。

Yii优点

Yii容易學習和使用。你只需要知道PHP和物件導向編程,便可以很快上手,而不必事先去學習一種新的架構或模板語言。
用Yii的開發速度非常之快,除框架本身之外,需要為應用所寫的編碼極少。事實上這是最高效的開發框架之一。
Yii 具有高度的可重複使用性和可擴展性,是純粹的物件導向的。 Yii中的一切都是獨立的可被配置,可重複使用,可擴充的元件。更重要的是Yii有著越來越多的擴充庫。主要由使用者貢獻的元件組成,這可能有助於大幅減少您的開發時間。
Yii 有著豐富的功能. 從 MVC, DAO/ActiveRecord, 到 主題化, 國際化 和本地化, Yii 提供了幾乎所有今天的Web 2.0應用程序開發所需的功能。
在Yii參考手冊是Yii完整的文檔,有著你學習和掌握它所需的任何資訊。
Yii一開始就精心設計,以適應複雜的WEB應用開發。他不是一些專案的副產品或第三方整合。而是融合了作者豐富的 Web 應用開發經驗和其它熱門 Web 框架和應用的優秀思想的結晶。
最後,但並非不重要,Yii是免費的,Yii遵循最新的BSD許可。它確保了它的第三方開發也循序和BSD相容的許可。這意味著無論從法律上還是財務上來說,您都可以自由的使用yii來開發任何一個開源的或私有的應用。

特性

Yii幾乎擁有了現今Web 2.0應用發展的全部特性。以下是這些特性的一個簡短的清單。
模型-視圖-控制器(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配備了許多安全的措施,以幫助安全的網路應用程序,以防止網路攻擊。這些措施包括跨站點腳本(XSS)預防,跨站點請求偽造(CSRF)預防,Cookie篡改預防等。
符合XHTML:Yii的元件和命令列工具產生的程式碼符合XHTML標準。
自動程式碼產生:Yii提供了可以自動產生的程式碼的工具,根據你的需要,例如產生一個程式骨架,CRUD應用等等。
完全物件導向:Yii框架堅持嚴格的物件導向程式設計範式。它沒有定義任何全域函數或變數。而且,它定義的類別層次結構允許最大的可重用性和自訂。
友善的使用第三方程式碼:Yii精心設計讓它第三方程式碼非常好的工作。例如,你可以在你的Yii應用程式中使用PEAR或Zend Framework的程式碼。
詳細的文檔:每一個單一的方法或屬性都非常清楚的記錄著。同時提供了一個全面的教程和一些新手教程。
擴充庫:Yii提供了一個組成使用者提供元件的擴充庫,這使得上述功能清單是永無止境的。

關於Yii

Yii是一個基於元件、用於開發大型 Web 應用的高效能 PHP 框架。在WEB開發中Yii可以最大限度的實現程式碼重用,極大的提高開發的速度。名字Yii(讀音是Yee or [ji:],應該就是「易」的讀音 )代表的是容易(easy),高效(efficient)和可擴展(extensible)
環境需求
要執行一個 Yii 驅動的 Web 應用,你需要有一個支援 PHP 5.1.0 或以上版本的 Web 伺服器。
對於打算使用 Yii 的開發者來說,懂得物件導向程式設計(OOP)會非常有幫助。因為 Yii 是一個純 OOP 的框架。
適用範圍
Yii 是一個通用的 Web 程式設計框架,可以用來開發幾乎所有的 Web 應用。由於它是輕量級的且具備了成熟的快取解決方案,它特別適用於開發高流量的應用,例如門戶,論壇,內容管理系統(CMS),電子商務系統等等。
同類產品比較
和多數PHP框架類似,Yii 是一個 MVC 的框架。
Yii 以其優異的效能,豐富的功能和清晰的文件勝出其他框架。 Yii 從一開始就仔細設計以適合嚴謹的 Web 應用開發。它既不是一個其他項目的衍生品,也不是一個第三方工作的組合。它是作者豐富的 Web 應用開發經驗和對大多數流行的 Web 程式框架與應用的研究與思考的成果。

性能

yii性能
Yii是一個高效能的框架,以下的圖表展示了與其他流行的PHP框架比較下Yii的高效率。在這個圖表中, RPS代表“每秒請求”,描述了此框架每秒執行多少個請求。這個數字越大,此框架的表現越高,我們可以看到,在這個比較中 Yii 勝過其他框架。 The performance advantage of Yii is especially significant when the widely used APC extension is enabled.
Performance alone is not the whole story (otherwise we should all use plain HTML or PHP). With such superior performance, Yii still provides a very rich feature setwhich can greatly improve your development /effency. 為什麼Yii如此之快
Yii如此快速是因為它廣泛地使用lazy loading技術。例如, 直到第一次使用到這個類,才會包含進來;直到物件第一次訪問,才會創造這個物件。 Other frameworks suffer from the performance hit because they would enable a functionality (e.g. DB connection, user session) no matter it is used or not during a request.
標準設定
下面我們解釋怎樣設計基準應用並且得到上面的RPS結果.
基準請求
Since our goal is to compare the minimal overhead of each framework, the benchmark application for each framework should be the simplest one. We choose to display a "Hello World" text string by placing an echo statement in default ault additional framework features (e.g. session) are disabled to ensure fairness of the comparison. To obtain a copy of the benchmark applications, please check out the phpmark project.
為什麼用「Hello World」
我們做「hello world」的測試主要是為了達到我們的目標,如:找出每個框架地最小代價。很多人抱怨應用程式「hello world」很沒意義,因為在真實世界的應用程式經常需要去涉及更複雜的任務,例如資料庫查詢。這是不對的。實際上,尤其是在一些大規模的web2.0應用程式中,我們經常遇到的情況通常是相當地接近「hello world」。例如:應用程式要回應ajax請求返回目前伺服器的時間。頁面有大部分內容在緩存,應用程式只需要抓取快取的內容並顯示。
另一個用「hello world」的原因是當引用更複雜(如:資料庫查詢)的特徵時,對照的清晰將很難保證。例如:框架可以在資料庫查詢執行得非常有效率,但缺少快取方案。當另一個框架在資料庫查詢上稍慢,卻有進階的快取特徵來緩和系統損耗。總而言之有包含了太多的因素來進行清晰的對比。
標準工具與環境
用ApacheBench工具的指令「ab –t 30 -c 10 URL」來取得RPS編號(如:在同時級數10運行test 30秒)。為了獲得每個框架的編號,我們先停止再啟動Apache WEB伺服器來避免干擾。也要運行測試程序幾次來「預熱」測試環境。在phpmark project中,有個叫benchmark. sh的shell script使基準程式自動化。

Credits

Yii 的許多想法來自其他著名 Web 程式框架和應用程式。下面是一個簡短的清單。
Prado:這是 Yii 的主要思想來源。 Yii 採用了基於元件和事件驅動程式設計模式,資料庫抽象層,模組化的應用架構,國際化和在地化,和許多它的其他特點和功能。
Ruby on Rails:Yii 繼承它的配置的想法。也引用它的 Active Record的 ORM設計模式。
jQuery:這是整合在 Yii 為基礎的 JavaScript 框架。
Symfony:Yii 引用它的過濾設計和插件架構。
Joomla:Yii 引用其模組化設計和資訊翻譯方案。

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1663
14
CakePHP 教程
1420
52
Laravel 教程
1315
25
PHP教程
1266
29
C# 教程
1239
24
PHP框架的優缺點比較:選哪個好? PHP框架的優缺點比較:選哪個好? Jun 04, 2024 pm 03:36 PM

PHP框架的選擇取決於專案需求和開發者技能:Laravel:功能豐富,社群活躍,但學習曲線陡峭,效能開銷高。 CodeIgniter:輕量級,易於擴展,但功能有限,文件較少。 Symfony:模組化,社群強大,但複雜,效能問題。 ZendFramework:企業級,穩定可靠,但笨重,許可昂貴。 Slim:微框架,速度快,但功能有限,學習曲線陡峭。

PHP框架與微服務:雲端原生部署與容器化 PHP框架與微服務:雲端原生部署與容器化 Jun 04, 2024 pm 12:48 PM

PHP框架與微服務結合的好處:可擴展性:輕鬆擴展應用程序,添加新功能或處理更多負載。靈活性:微服務獨立部署和維護,更容易進行更改和更新。高可用性:一個微服務的故障不會影響其他部分,確保更高可用性。實戰案例:使用Laravel和Kubernetes部署微服務步驟:建立Laravel專案。定義微服務控制器。建立Dockerfile。建立Kubernetes清單。部署微服務。測試微服務。

在不同開發環境中 PHP 框架的效能差異 在不同開發環境中 PHP 框架的效能差異 Jun 05, 2024 pm 08:57 PM

不同开发环境中PHP框架的性能存在差异。开发环境(例如本地Apache服务器)由于本地服务器性能较低和调试工具等因素,导致框架性能较低。相反,生产环境(例如功能齐全的生产服务器)具有更强大的服务器和优化配置,使框架性能显著提高。

PHP框架與DevOps的整合:自動化與敏捷性的未來 PHP框架與DevOps的整合:自動化與敏捷性的未來 Jun 05, 2024 pm 09:18 PM

將PHP框架與DevOps整合可提高效率和敏捷性:自動化繁瑣任務,釋放人員精力專注於戰略任務縮短發布週期,加快上市時間提高代碼質量,減少錯誤增強跨職能團隊協作,打破開發和運營孤島

最佳的微服務架構PHP框架:效能與效率 最佳的微服務架構PHP框架:效能與效率 Jun 03, 2024 pm 08:27 PM

最佳PHP微服務框架:Symfony:靈活性、效能和可擴充性,提供組件套件用於建構微服務。 Laravel:專注效率和可測試性,提供乾淨的API接口,支援無狀態服務。 Slim:極簡主義,速度快,提供簡單的路由系統和可選的中體建構器,適用於建構高性能API。

哪種 PHP 框架提供最全面的擴充函式庫,方便快速開發? 哪種 PHP 框架提供最全面的擴充函式庫,方便快速開發? Jun 04, 2024 am 10:45 AM

PHP框架擴充庫選擇提供了四種框架:Laravel:以其龐大的生態系統和第三方套件而著稱,提供認證、路由、驗證等擴充。 Symfony:高度模組化,透過可重複使用的「Bundle」擴展了功能,涵蓋身份驗證、表單等領域。 CodeIgniter:輕量級且高效能,提供資料庫連接、表單驗證等實用擴充。 ZendFramework:企業級功能強大,擁有身分驗證、資料庫連線、RESTfulAPI支援等擴充功能。

PHP框架中人工智慧的應用潛力 PHP框架中人工智慧的應用潛力 Jun 03, 2024 am 11:01 AM

人工智慧(AI)在PHP框架中的應用潛力包括:自然語言處理(NLP):用於分析文本、識別情感和生成摘要。影像處理:用於辨識影像物件、進行臉部偵測和調整大小。機器學習:用於預測、分類和聚類。實戰案例:聊天機器人、個人化推薦、詐欺偵測。整合AI可增強網站或應用程式功能,提供強大的新功能。

PHP框架在敏捷開發和大型專案的應用 PHP框架在敏捷開發和大型專案的應用 Jun 04, 2024 pm 01:42 PM

PHP框架在敏捷開發和大型專案中應用廣泛,提供敏捷性、可擴充性和安全性等優勢。例如,在電子商務網站中,Laravel框架可快速建立原型、處理複雜業務邏輯、確保安全性和擴充功能。透過利用預先定義的元件和設計模式,PHP框架為開發人員建立可擴展且維護良好的應用程式提供了便利。

See all articles