作為一個PHP菜鳥初學Laravel框架 在學習過程中我發現了其與TP框架的不同點,由於時間問題和認識還不夠完善我先寫出其中幾點,有錯誤的地方希望各位大牛斧正...
1.渲染模版方式的不同:在Laravel框架裡,使用return view()來渲染模版;而ThinkPHP裡則使用了$this->display()的方式渲染模版;
2.在實際開發中我們常常遇到這樣的問題,就是開發地點不固定,這就造成了我們需要頻繁的更改數據庫配置,給開發工作造成了麻煩,TP依然沒有避免這個"災難";在laravel框架中,.env環境文件的出現解決了這個麻煩,我們只需要在不同的工作地點配置好.env文件就不避再進行配置,因為無論是git還是svn " .env是不會隨著文件一起提交到服務器的";
3.Laravel框架提供了大量的閉包,作為菜鳥的我目前只使用了use方法,即如何在函數內部使用外層變量
4.post傳值中注意點不同:在Laravel框架裡,由於其考慮到了跨站攻擊, 所以如果使用form表單以post方式進行傳值時,如果不再form表單中加入{{csrf_filed()}}則會報出TokenMethodnotfound的語法錯誤;而TP框架則需要自己手動完成防止跨站攻擊的代碼;
5.條件判斷語句書寫方式的差異:Laravel框架裡 if else判斷語句和foreach語句 書寫時必須以@if開頭 以@endif結尾,如果沒有則報語法錯誤,@foreach @endforeach同理;而TP框架則和PHP語法規則使用方式一致直接ifesle語句判斷和foreach循環遍歷
6.Laravel裡內置了大量的方法供開發者使用,在實際應用中更接近於"讓對象完成一切"的開發思想,比如在後台表單驗證的時候,Laravel內置了大量的驗證方法,例如對用戶名的驗證:我們使用可以validate方法裡'username'=>'required'(不能為空)|alpha_dash(必須數字字母下劃線)|between:6,18(在多少位數之間);還內置了例如emial;same:字段名;diff:字段名等大量的方法極大的提高了開發速度;
代碼有待完善 只是實驗用
7.加密方式
在TP框架中 我們對用戶名密碼進行加密時使用md5();的方式進行加密,但md5的缺點在於其可以逆向破解,而且在同等規則下同樣的密碼md5加密出的字符串是有可能出現相同的,這就降低其安全性;但在Laravel框架中內置了"哈希"Hash加密單向加密方法,且同樣的參數加密出的字符串是絕對不會出現相同的情況 這就提高了安全性