⑴ laravel和thinkphp的區別
laravel和thinkphp都是開源的php框架。兩個都有很好的文檔支持。
區別:
tp是國產的,laravel是國外的
laravel有很好的路由機制(自已任意制定路由,有一個rouute.php文件) ,當然tp5.0+整的也跟laravel差不多了(原來路由都是訪問 模塊/控制器/方法)
當然是語法也有很多區別了這篇文字寫的不錯,你可以看看
⑵ laravel和thinkphp的區別是什麼
一、渲染模版方式的不同
1、在Laravel框架里,使用return view()來渲染模版;
2、而ThinkPHP里則使用了$this->display()的方式渲染模版。
二、條件判斷語句書寫方式不同
1、Laravel框架里if else判斷語句和foreach語句,書寫時必須以@if開頭,以@endif結尾。如果沒有則報語法錯誤,@foreach @endforeach同理;
2、而TP框架則和PHP語法規則使用方式一致,直接用if esle語句判斷和foreach循環遍歷
三、post傳值中注意點不同
1、在Laravel框架里,由於其考慮到了跨站攻擊,所以如果使用form表單以post方式進行傳值時,如果不再form表單中加入{{csrf_field()}}則會報出TokenMethodnotfound的語法錯誤,
2、而TP框架則需要自己手動完成防止跨站攻擊的代碼。
四、加密方式不同
1、在TP框架中,我們對用戶名密碼進行加密時使用md5();的方式進行加密。但md5的缺點在於其可以逆向破解,而且在同等規則下同樣的密碼md5加密出的字元串是有可能出現相同的,這就降低其安全性。
2、但在Laravel框架中內置了"哈希"Hash加密單向加密方法,且同樣的參數加密出的字元串是絕對不會出現相同的情況,這就提高了安全性。
(2)thinkphp和php的區別擴展閱讀:
在實際開發中常常遇到這樣的問題,就是開發地點不固定。這就造成了需要頻繁的更改資料庫配置,給開發工作造成了麻煩。TP依然沒有避免這個"災難",在laravel框架中,.env環境文件的出現解決了這個麻煩。需要在不同的工作地點配置好.env文件就不避再進行配置,因為無論是git還是svn,「.env是不會隨著文件一起提交到伺服器的」。
⑶ 相對於別的php框架來說thinkphp有什麼缺點
PHP框架對於立項來說非常重要,影響的是團隊的開發效率和後續的維護開發成本,而對於框架又是蘿卜青菜各有所愛。同樣一個框架,有人愛到極點,有人罵為垃圾。所以做個整理,各取所需。
1、從Github數據來看,Laravel高居榜首,而它在國外也是用的人最多的。Laravel優點是代碼優雅簡潔;缺點是依賴其他擴展,內部事先復雜,系統復雜時需要配置大量的路由規則,文檔少,版本更新快且不連續。
2、ThinkPHP國人開發維護,優點是中文文檔完善,社區活躍;缺點是高頻單字母函數讓人不知所雲,代碼並不優雅。適合於國人快速開發一些Web系統。個人感覺缺少ORM。
3、phalcon是C寫的PHP框架,以PHP擴展形式載入,優勢是性能絕對的第一,是其他框架的十倍,但缺點是學習成本高,一旦發現框架bug對於不懂C和PHP擴展的同學來說幾乎是死穴。
4、Yii,華裔開發,所以交流上比較順暢,優點是強大的組件,豐富的類庫,成熟的模式,方便的gii,各式的widget,支持ORM,支持多語言國際化,代碼干凈。缺點是入門容易,精通很難,需要懂其設計思想。
多角度對比
性能:phalcon > yii ≈ laravel,因為phalcon使用C語言開發,以php擴展的方式載入,這樣不需要對框架進行額外的解析和執行,所以性能好
代碼可讀性:laravel更勝一籌(表現力較強,不懂php基本也能看懂他在做什麼)
開發速度:yii ≥ laravel > phalcon
學習成本、使用成本:yii ≥ laravel > phalcon
綜上所述,整體上Yii相對突出,適合中大型項目;ThinkPHP適合快速開發和中小型項目;phalcon適合高性能要求的項目;Laravel適合簡潔對代碼有最追求的同學。大家各取所需。
⑷ thinkphp框架等等和phpcms等等有什麼不同呢
框架就是提供一個快速敏捷開發的平台,裡面一些常用的功能,都封裝好,然後你要按照框架的語法和文件結構來進行網站的建設,就好比是搭建了一個房子外面的框架都設計好,你需要做的是修改裡面的東西.
而cms是將整個房間,不僅框架搭建好了.裡面的各個房間也給你布置好,可以不經過任何加工直接可以入住.
兩者的優缺點是:
框架相對比較靈活些,可以做更多自己想做的,而不用看太多的代碼.
CMS的優點就是功能比較齊全,代碼都給你做好,你要做的僅僅是安排一下布局,或者做個模板.但是可變化性沒有框架好.要修改的話研究的代碼比較多.核心的部分比較難研究.
⑸ 織夢建站、phpcms建站、thinkphp有什麼區別
總的來說:
織夢(dedecms)、 phpcms 都是cms內容管理系統! thinkPHP 是PHP的一種開發框架;
cms 相對簡單,記住對應的調用標簽,就是簡單的套模板,不用開發後台(二次開發除外),模塊只能是cms提供的模塊。但開發速度快,是快速建門戶網站的最佳選擇,也是初學者需要掌握的一種!
think就是前後一起開發,從建資料庫設計表,到後台管理的增刪改查,再到前台的模板調用,相對復雜,但靈活!
⑹ 什麼是thinkphp
thinkphp是php(web伺服器腳本語言)開發的一種框架,可以和多種開發模式結合,可以更好的做到把網站的靜態頁面和業務邏輯及數據的操作進行分離,提高代碼的可讀性,網站的安全性,及更好的處理數據能力
⑺ thinkphp是軟體嗎。還是什麼
thinkPHP不是軟體
是PHP語言的一種開源框架。這個框架是國人開發,所以有中文社區論壇的
⑻ ThinkPHP 5.0和ThinkPHP 3.2的區別
URL和路由
5.0的URL訪問不再支持普通URL模式,路由也不支持正則路由定義,而是全部改為規則路由配合變數規則(正則定義)的方式:
主要改進如下:
1.增加路由變數規則;
增加組合變數支持;
增加資源路由;
增加路由分組;
增加閉包定義支持;
增加MISS路由定義;
支持URL路由規則反解析;
2.請求對象和響應對象
5.0新增了請求對象Request和響應對象Response,Request統一處理請求和獲取請求信息,Response對象負責輸出客戶端或者瀏覽器響應。
3.廢除原來的操作前後置方法;
增加beforeActionList屬性定義前置操作;
支持任意層次的控制器定義和訪問;
URL訪問支持自動定位控制器;
4.資料庫
5.0的資料庫查詢功能增強,原先需要通過模型才能使用的鏈式查詢可以直接通過Db類調用,原來的M函數調用可以改用db函數,例如:
3.2版本
M('User')->where(['name'=>'thinkphp'])->find();
5.0版本
db('User')->where('name','thinkphp')->find();
5.自動驗證和自動完成
5.0的數據自動驗證和自動完成和3.2版本區別較大,5.0的數據驗證採用驗證器定義並且通過thinkValidate類進行統一的驗證。自動完成則通過在模型裡面定義修改器來完成。
6.異常
5.0對錯誤零容忍,默認情況下會對任何級別的錯誤拋出異常(但可以在應用公共文件中設置錯誤級別),並且重新設計了異常頁面,展示了詳盡的錯誤信息,便於調試.
⑼ 原生php和thinkphp這些框架有什麼區別
thinkphp等框架是 面向對象的mvc架構 mvc是目前主流的開發模式 框架是自己已經做好了這種架構開發者只需要寫業務代碼就可以了 而且框架一般會把一些常用的類提供給開發者 比如圖片處理 分頁類 驗證碼類 等等 框架還會把sql語句進行簡化 這些都是在提高開發者的開發效率 而如果使用原生php 開發者需要自己做mvc的架構 自己做單入口 開發效率以及代碼的可維護性都是不如直接使用那些主流的mvc框架