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

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

在php中,可以使用substr()函数来读取字符串后几个字符,只需要将该函数的第二个参数设置为负值,第三个参数省略即可;语法为“substr(字符串,-n)”,表示读取从字符串结尾处向前数第n个字符开始,直到字符串结尾的全部字符。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

查找方法:1、用strpos(),语法“strpos("字符串值","查找子串")+1”;2、用stripos(),语法“strpos("字符串值","查找子串")+1”。因为字符串是从0开始计数的,因此两个函数获取的位置需要进行加1处理。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

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

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能