日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

這篇文章主要介紹了laravelthinkphp之間的區別與優缺點,從多個方面對比,有正好使用這兩個框架的同學可以研究下

Laravel框架:

Laravel是當今最熟練,流行和廣泛使用的開源框架之一,一直秉承著優雅的原則,完美支持**composer**,實現了更豐富的擴展,社區文檔活躍,相較于TP,Lavavel更龐大,安全性也更高,更適合開發大中型項目,被稱為“巨匠型開發框架”。

問題描述:

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_field()}}則會報出TokenMethodnotfound的語法錯誤,而TP框架則需要自己手動完成防止跨站攻擊的代碼。


5、條件判斷語句書寫方式的差異

Laravel框架里if else判斷語句和foreach語句,書寫時必須以@if開頭,以@endif結尾。如果沒有則報語法錯誤,@foreach @endforeach同理;而TP框架則和PHP語法規則使用方式一致,直接用if esle語句判斷和foreach循環遍歷。


6、Laravel里內置了大量的方法供開發者使用

在實際應用中更接近于”讓對象完成一切”的開發思想,比如在后臺表單驗證的時候,Laravel內置了大量的驗證方法。例如對用戶名的驗證:我們可以使用validate方法里'username'=>'required'(不能為空)|alpha_dash(必須數字字母下劃線)|between:6,18(在多少位數之間);還內置了例如email;same:字段名;diff:字段名等大量的方法極大的提高了開發速度。


7、加密方式

在TP框架中,我們對用戶名密碼進行加密時使用md5();的方式進行加密。但md5的缺點在于其可以逆向破解,而且在同等規則下同樣的密碼md5加密出的字符串是有可能出現相同的,這就降低其安全性。但在Laravel框架中內置了”哈希”Hash加密單向加密方法,且同樣的參數加密出的字符串是絕對不會出現相同的情況,這就提高了安全性。


8、建表

Laravel在數據庫建表上有自己獨立內置的結構,可以完全不用借助原生SQL語句或者SQLyogEnt、Navicat這樣的建表工具進行數據庫的建立,增刪改查和數據交互。我想這可能是它牢牢占據NO.1的一大亮點,在ThinkPHP中則需要我們借助SQL語句或者建表工具去逐步完善數據。


8.1、首先我們需要建立模型:我用的是gitbash。gitbash是Windows下的命令工具,基于msys GNU環境,有git分布式版本控制工具,主要應用于git。但是在Laravel里也可以直接使用:php artisan make:model Models/GoodsModel -m 完成模型的創建和建表結構的創建(/database/migrations)。

8.2、向goods數據表填充數據,要注意數據的類型是嚴格區分的,并且一定要加。添加完后使用php artisan migrate命令完成表的創建。

Schema::create('goods', function (Blueprint $table) {
    $table->increments('id')->comment('商品主鍵');
    $table->string('title')->comment('商品的標題');

8.3、假設某個字段不符合要求或者需要添加字段怎么辦?無須擔心,從github中pull下項目后在數據表里直接修改,只需要用:

php artisan migrate:refresh


9、ORM

在介紹建表時已經使用了創建模型的命令:

php artisan make:model XXX;

Laravel里模型是對面向對象開發思想最好的詮釋,讓對象幫我們完成需求。

摘自5.1手冊:(Laravel 的 Eloquent ORM 提供了漂亮、簡潔的 ActiveRecord 實現來和數據庫進行交互。每個數據庫表都有一個對應的「模型」可用來跟數據表進行交互。你可以通過模型查找數據表內的數據,以及將記錄添加到數據表中。)

本人在實際使用中也實實在在的感受到了通過創造模型對數據表操作帶來的便利,譬如:批量賦值,跨表查詢,刪除模型和軟刪除,模型關聯,當然這些在TP框架中也可以利用模型實現。這一點屬于仁者見仁智者見智,根據個人喜好而定。


10、session的用法

10.1、ThinkPHP對Session操作進行了封裝,并且無需引入就可以使用,Session的啟動會在應用初始化的時候自動執行,所以無需手動使用Session::start() 來啟動Session。

使用Session類操作和普通方式調用$_SESSION來操作并沒有本質不同,只是Session類很多參數可以根據項目配置來靈活設置,最常用的操作方法示例:

// 檢測Session變量是否存在:Session::is_set('name');
// 給Session變量賦值:Session::set('name','value');
// 獲取Session變量:Session::get('name');

10.2、Laravel中Session的常用方法:

$request->session()->get('key');//獲取session里的某個鍵名
$request->session()->set('key','default');//設定一個默認值,當指定鍵名不存在便返回默認值
$request->session()->all();//返回所有數據
session('k'=>$v);//寫入session保存數據

以及閃存數據session()->flash()和保留特定數據->keep([”,”]);

也可以自定義session驅動。

laravel和thinkphp:

laravel和thinkphp哪個框架好用

thinkphp,采用mvc思想開發,它活動范圍主要是國內,而且完全免費開源,學習資料非常豐富,對于新手來說是學習php框架最佳的選擇,主要還是都是中文文檔。從5.0版本開始,號稱為API開發而設計的高性能框架。配置開發也是非常簡單,一般下載框架就可以直接開發,開發代碼風格也符合國人思想,所以簡單,快捷,適合新手的php框架。

Laravel框架,為 WEB 藝術家創造的 PHP 框架,同時也是目前API開發最好的高級php框架。我們都知道php主要是網站web開發,Laravel框架開發優雅,簡單的代碼,而且Laravel是為人而設計框架,開發的思維比較合適中級程序員思路,所以有經驗的php程序員比較青睞Laravel框架。新手為什么不強烈推薦呢?主要是Laravel框架是一個國際的框架,很多都是英文文檔,雖然還有中文文檔,但是資料有限,很多有用的資料都不是免費的,可以說是Laravel框架是半開源代碼,新手如果沒有人帶,可能需要學習精力是有限的。



分享到:
標簽:laravel與thinkphp區別 優缺點
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定