Laravel與thinkPHP的異同點
主要區別:(thinkPHP更適合國人的編碼習慣)
1.渲染模版方式的不同:
在Laravel框架裡,使用return view()來渲染模版;
而ThinkPHP裡則使用了$this->display()的方式渲染模版;
2.在Laravel框架裡,由於其考慮到了跨站請求偽造, 所以如果使用form表單以post方式進行傳值時,如果不再form表單中加入{{csrf_field()}}則會報出TokenMethodnotfound的語法錯誤;
而TP框架則需要自己手動完成防止跨站攻擊的程式碼;
3.Laravel是一個重路由的框架(5.4),所有的功能都是由路由發起的,哪怕沒有控制器方法,只要寫了路由就能夠訪問,thinkPHP(3.2),必須要有控制器方法才能正常訪問;
4.laravel具有強大的社群化擴充套件,(composer擴充套件自動載入);
5.laravel具有強大的Blade模版引擎;
6.中介軟體,Laravel特點,可以實現訪問前後的處理,例如請求和返回,許可權認證等;
7.條件判斷語句書寫方式的差異:
Laravel框架裡 if else判斷語句和foreach語句 書寫時必須以@if開頭 以@endif結尾,如果沒有則報語法錯誤,@foreach @endforeach同理;
而TP框架則和PHP語法規則使用方式一致直接ifesle語句判斷和foreach迴圈遍歷
Laravel裡內建了大量的方法供開發者使用,在實際應用中更接近於"
加密方式 在TP框架中 我們對使用者名稱密碼進行加密時使用md5();的方式進行加密,但md5的缺點在於其可以逆向破解,而且在同等規則下同樣的密碼md5加密出的字串是有可能出現相同的,這就降低其安全性;
但在Laravel框架中內建了"雜湊"Hash加密單向加密方法,且同樣的引數加密出的字串是絕對不會出現相同的情況 這就提高了安全性;
在實際開發中我們常常遇到這樣的問題,就是開發地點不固定,這就造成了我們需要頻繁的更改資料庫配置,給開發工作造成了麻煩,TP依然沒有避免這個"災難";在laravel框架中,.env環境檔案的出現解決了這個麻煩,我們只需要在不同的工作地點配置好.env檔案就不必再進行配置,因為無論是git還是svn " .env是不會隨著檔案一起提交到伺服器的";