首頁 >php框架 >ThinkPHP >thinkphp5與laravel的差別是什麼

thinkphp5與laravel的差別是什麼

青灯夜游
青灯夜游原創
2021-09-02 10:57:082604瀏覽

thinkphp5與laravel的差異:1、Thinkphp中使用「$this->display()」方式來渲染模版,而Laravel使用「return view()」;2、跨站方式不同; 3.路由不同;4、Thinkphp沒有中間件,Laravel有中間件;5.加密方式不同。

thinkphp5與laravel的差別是什麼

本教學操作環境:windows7系統、Laravel6&&thinkphp5版,DELL G3電腦。

Laravel框架與thinkphp5框架的哪些差異

#首先就是它們渲染模板的方式不同:

Thinkphp語句是:$this->display()

Laravel語句是:return view()

第二種是它們的跨站方式不同:

Thinkphp需要手動完成防止跨站攻擊的程式碼

Laravel考慮到跨轉請求偽造,使用form表單以post方式傳值,並且要在form表單中加入{{ csrf_field() }}來完成,不加會{{csrf_field}}顯示token令牌錯誤

第三點就是路由不同:

Thinkphp(3.2)必要要填入控制器,否則無法存取

Lavarel是一個重路由的框架,所有的功能都是由路由發起的。他可以沒有控制器方法,沒有模型,沒有視圖,但一定要有路由。

第四點就是中間件:

Thinkphp:沒有中間件

Laravel:具有中間件,可以實現存取前後的處理(請求和返回,權限認證等)

第五點就是加密方式不同:

Thinkphp:它採用的是thinkphp內建演算法中的md5()加密演算法,易被外界逆向破解,強行破除。

Laravel:採用的是內建的hash加密(單向加密方法),沒有逆向破解的說法.

laravel裡內建了大量的方法供開發者使用,在實際應用中更接近"讓物件完成一切"的開發思想,比如在後台表單驗證的時候,Laravel內置了大量的驗證方法,例如對用戶名的驗證:我們使用可以validate方法裡'username'=>'required '(不能為空)|alpha_dash(必須數字字母底線)等

第六點就是If和foreach語句區別:

Thinkphp:和原生php中的寫法一致

Laravel:在寫的時候一定要加上@符號(@if-@endif @foreach-@endforeach)

【相關推薦:laravel教學thinkphp教學

#

以上是thinkphp5與laravel的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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