搜尋
首頁後端開發php教程php常用的框架有哪些? php開發常用框架的區別對比

在平常工作中使用的是thinkphp框架,在工作過程中接觸了Yii框架和Laravel框架,為了能讓自己更好的了解php的幾種框架,在這裡我總結了一下PHP四大發展常用框架的區別對比。

  一、php CI框架

#  CI框架是一個簡單快速的PHP MVC輕量級框架,它執行效率高,快速簡潔,程式碼量少,適合中小型專案開發,也可以做大型專案,但擴充能力不是很好。

      推薦課程:《CI框架影片教學

  優點:架構較簡單,適合入門開發,易學,上手快,靜態化很容易,文件比較詳細。

  缺點:由於框架較小,所以功能不完全,例如使用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擴充。其本身包含底層架構、相容處理、基底類別庫、資料庫存取層、模版引擎、快取機制、插件機制、角色認證、表單處理等常用的元件,對於跨版本、跨平台和跨資料庫移植都比較方便。適合中小型專案開發。

      建議課程:《最新ThinkPHP 5.1全球首發影片教學

 # 優點:#簡單易用(Model, Controller,View負責各自的工作),它擁有支援XML標籤庫技術的編譯型模版引擎,支援兩種模版標籤,動態編譯,快取技術。還支援自訂標籤庫,具有獨特的資料驗證和自動填充,MD5資料加密等功能。部署簡單只需要一個入口文件,上手快。

  缺點:模版比較固定,導致思想容易固化。

  TP框架中提供的4種路由形式,其中rewrite路由方式需要另外修改配置才可使用,配置方法見https://www.cnblogs.com/lovele-/p/9256575.html

  1、get路由形式;

//网址/index.php?m=分组&c=控制器&a=方法(该形式书最底层的传输方式,不安全)。

  2、pathinfo路由形式【預設路由形式】:   

 //网址/index.php/分组/控制器/方法

  3、 rewrite路由形式; 

 //网址/分组/控制器/方法

  3、 rewrite路由形式; #  、 兼容路由形式:    

//网址/index.php?s=/分组/控制器/方法

  三、php  Laravel框架

  Laravel是一套簡潔,優雅的PHP WEB開發框架。集合了PHP比較新的特性,以及各種的設計模式,是適合學習的框架,但要求PHP基礎紮實熟練。適合大中型專案的開發。

      推薦課程:《最新laravel商城實戰影片教學

  優勢:

  1 、支援Composer

  2、框架結構比較清晰,注重程式碼的模組化(抽象化了中間件,任務,服務等)和可擴展性,路由系統快速高效

  3、支持處理跨站請求偽造,在進行form表單post提交時,必須傳入{{ csrf_field() }}

  4、Laravel 的社區很強大,具有豐富的擴展包及工具

  5、具有快取、驗證、任務自動化、hash加密、事務等功能

  6、獨特的.env環境文件,方便了系統的配置和不同平台的開發

  缺点:基于组件式的框架,相对有点臃肿

  Laravel路由方法: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

  四、php Yii 框架

  Yii Framework是一个基于组件、用于大规模web应用开发的高性能PHP开源框架,是目前最具效率的PHP框架之一。适合大型重量型web应用开发。

       推荐课程:《Yii开发大型商城项目视频教程

  优势:

  1、纯OOP开发,模型使用方便

  2、支持命令行工具开发,可以快速的创建一个web应用程序的代码

  3、具有高度的可重用性和可扩展性

  4、开发速度快,性能优异且功能丰富

  5、支持composer包管理工具

  缺点:model 层考虑较少,文档中中文文档较少。要求php技术精通水平,OOP编程也要很熟练

 相关推荐:

2019热门php开发框架排行

PHP四大主流框架的优缺点总结

PHP中常用的七大框架的优点与缺点

以上是php常用的框架有哪些? php開發常用框架的區別對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

您如何從PHP會話中檢索數據?您如何從PHP會話中檢索數據?May 01, 2025 am 12:11 AM

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

您如何使用會議來實施購物車?您如何使用會議來實施購物車?May 01, 2025 am 12:10 AM

利用會話構建高效購物車系統的步驟包括:1)理解會話的定義與作用,會話是服務器端的存儲機制,用於跨請求維護用戶狀態;2)實現基本的會話管理,如添加商品到購物車;3)擴展到高級用法,支持商品數量管理和刪除;4)優化性能和安全性,通過持久化會話數據和使用安全的會話標識符。

您如何在PHP中創建和使用接口?您如何在PHP中創建和使用接口?Apr 30, 2025 pm 03:40 PM

本文解釋瞭如何創建,實施和使用PHP中的接口,重點關注其對代碼組織和可維護性的好處。

crypt()和password_hash()有什麼區別?crypt()和password_hash()有什麼區別?Apr 30, 2025 pm 03:39 PM

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

如何防止PHP中的跨站點腳本(XSS)?如何防止PHP中的跨站點腳本(XSS)?Apr 30, 2025 pm 03:38 PM

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

See all articles

熱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

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

熱工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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