PHP常用框架對比
#一、CI框架
CI框架是一個簡單快速的PHP MVC輕量級框架,它執行效率高,快速簡潔,程式碼量少,適合中小型專案開發,也可以做大型項目,但擴充能力不是很好。
優點:框架比較簡單,適合入門開發,易學,上手快,靜態化很容易,文件比較詳細。
缺點:由於框架較小,所以功能不完全,例如使用mongoDB就要自己實現接口,對資料庫的操作不夠安全(寫入操作)。對大型專案支援不好。
開發工作流程:
1、index.php作為前端控制器,初始化執行CodeIgniter所需的基本資源。
2、Router檢查HTTP請求,以確定誰來處理請求。
3、如果快取(Cache)檔案存在,它將繞過通常的系統執行順序,直接傳送給瀏覽器。
4、安全性(Security)。在應用程式控制器(ApplicationController)裝載之前,HTTP請求和任何使用者提交的資料將被過濾。
5、控制器(Controller)裝載模型、核心函式庫、外掛程式、輔助函數,以及任何處理特定請求所需的其它資源。
6、最終視圖(View)渲染傳送到網頁瀏覽器中的內容。如果開啟緩存(Caching),視圖首先被緩存,所以將可用於以後的請求。
CI的url模式:
Ci支援的url模式預設為pathinfo形式,也就是使用/分隔。其中//localhost/citest/index.php/ 是固定的,表示的就是入口檔案例如://localhost/citest/index.php/hello/index
二、ThinkPHP框架
TP框架是一共快速相容簡單的輕量級國產PHP開發框架,使用物件導向的結構和MVC模式進行開發。它可以支援Windows、Linux等伺服器,並且支援MySql、Sqlite等多種資料庫和PDO擴充。
其本身包含底層架構、相容處理、基底類別庫、資料庫存取層、模版引擎、快取機制、插件機制、角色認證、表單處理等常用的元件,並且對於跨版本、跨平台和跨資料庫移植都比較方便。適合中小型專案開發。
優勢:簡單易用(Model,Controller,View負責各自的工作),它擁有支援XML標籤庫技術的編譯型模版引擎,支援兩種模版標籤,動態編譯,緩存技術。還支援自訂標籤庫,具有獨特的資料驗證和自動填充,MD5資料加密等功能。部署簡單只需要一個入口文件,上手快。
缺點:模版比較固定,導致思想容易固化。
TP框架中提供的4種路由形式:
1、get路由形式;
//网址/index.php?m=分组&c=控制器&a=方法(该形式书最底层的传输方式,不安全)。
2、pathinfo路由形式【預設路由形式】:
//网址/index.php/分组/控制器/方法
3、 rewrite路由形式;
//网址/分组/控制器/方法
4、 相容路由形式:
//网址/index.php?s=/分组/控制器/方法
三、Laravel框架
Laravel是一套簡潔,優雅的PHP WEB開發架構。集合了PHP比較新的特性,以及各種的設計模式,是適合學習的框架,但要求PHP基礎紮實熟練。適合大中型專案的開發。
優勢:
1、支援Composer
#2、框架結構比較清晰,注重程式碼的模組化(抽象化了中間件,任務,服務等)和可擴展性,路由系統快速有效率
3、支援處理跨站請求偽造,在進行form表單post提交時,必須傳入{{ csrf_field() }}
#4、Laravel 的社區很強大,具有豐富的擴展包及工具
5、具有緩存、身份驗證、任務自動化、hash加密、事務等功能
#6、獨特的. env環境文件,方便了系統的配置和不同平台的開發
缺點:基於組件式的框架,相對有點臃腫。
Laravel路由方法:
1、基本路由Route::get('/',function(){ return'HelloWorld';});
2、帶參數路由Route::get('user/{id}', function($id){ return 'User '.$id;});
#3、路由過濾參數Route ::get('user/{id}/{name}',function($id,$name){ //}) -> where(array('id'=> '[0-9] ', 'name' =>'[a-z] '));
4、子網域路由等等
5、控制器路由,例如下面的一些樣式
Route::resource('article','ArticleController'); //restful方式(具体包括get/post等) Route::controller('article','ArticleController'); //restful方式(具体包括get/post等) Route::get('user/login','UserController@login');//非restful方式 get Route::post('user/i','UserController@login');//非restful方式post
四、Yii 框架
Yii Framework是一個基於元件、用於大規模web應用開發的高效能PHP開源框架,是目前最具效率的PHP框架之一。適合大型重量型web應用開發。
優勢:
1、純OOP開發,模型使用方便
#2、支援命令列工具開發,可以快速的建立一個web應用程式的程式碼
3、具有高度的可重複使用性和可擴展性
4、開發速度快,效能優異且功能豐富
5、支援composer套件管理工具
缺點:
model 層考慮較少,文檔中中文文檔較少。要求php技術精通水平,OOP編程也要很熟練。
推薦教學:ThinkPHP教學
#以上是php需要掌握幾個框架的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文比較了酸和基本數據庫模型,詳細介紹了它們的特徵和適當的用例。酸優先確定數據完整性和一致性,適合財務和電子商務應用程序,而基礎則側重於可用性和

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

本文討論了使用password_hash和pyspasswify在PHP中使用密碼的好處。主要論點是,這些功能通過自動鹽,強大的哈希算法和SECH來增強密碼保護

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版
視覺化網頁開發工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。