搜尋

php框架區別

Sep 30, 2019 pm 05:45 PM
php差別框架

php框架區別

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/ 是固定的,表示的就是入口檔案

#二、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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡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

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

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

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

SublimeText3 Mac版

SublimeText3 Mac版

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

記事本++7.3.1

記事本++7.3.1

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

EditPlus 中文破解版

EditPlus 中文破解版

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