thinkphp開發(fā)的好處 thinkphp的優(yōu)點(diǎn)和缺點(diǎn)?
thinkphp的優(yōu)點(diǎn)和缺點(diǎn)?作為最流行的web開發(fā)語(yǔ)言之一,PHP也衍生出了很多不錯(cuò)的框架,比如ThinkPHP、Yii、CI、laravel等,但從國(guó)內(nèi)來(lái)看,無(wú)論是PHPer需求還是各大招聘網(wǎng)站的
thinkphp的優(yōu)點(diǎn)和缺點(diǎn)?
作為最流行的web開發(fā)語(yǔ)言之一,PHP也衍生出了很多不錯(cuò)的框架,比如ThinkPHP、Yii、CI、laravel等,但從國(guó)內(nèi)來(lái)看,無(wú)論是PHPer需求還是各大招聘網(wǎng)站的口碑傳播,ThinkPHP框架都是應(yīng)用最廣泛的。
ThinkPHP框架通常稱為TP。它于2006年推出。它是一個(gè)開源的、簡(jiǎn)單的、輕量級(jí)的開發(fā)框架。它的許多設(shè)計(jì)思想都借鑒了Java的struts。
它極其簡(jiǎn)單,易于使用,特別適合中小型項(xiàng)目開發(fā);
,數(shù)據(jù)操作簡(jiǎn)單(ORM);
模板支持良好,易于擴(kuò)展。
代碼太武斷,編寫函數(shù)有n種方式,不利于代碼規(guī)范的統(tǒng)一;
,無(wú)法無(wú)縫升級(jí)。
做項(xiàng)目必須要用thinkphp嗎,用原生的php不行嗎?
首先,您可以在項(xiàng)目中使用或不使用ThinkPHP,因?yàn)門hinkPHP只是許多框架中的一個(gè),可以使用許多其他框架,如CodeIgniter、Falcon、Yii、laravel等。
至于是否采用原生框架,只要有一定規(guī)模的項(xiàng)目,就采用框架。一方面,框架開發(fā)效率高;另一方面,框架具有安全性和可擴(kuò)展性。
最后,是否采用框架以及采用什么框架在很大程度上取決于技術(shù)總監(jiān),技術(shù)總監(jiān)會(huì)根據(jù)團(tuán)隊(duì)的實(shí)際情況做出合理的決策。沒(méi)有什么是絕對(duì)的。只要有利于項(xiàng)目的開發(fā)、維護(hù)和進(jìn)度,我們就可以采用。
如果我們使用框架,我們建議使用laravel。與Java中的spring一樣,laravel擁有控制反轉(zhuǎn)等高級(jí)設(shè)計(jì)模式、優(yōu)雅的代碼和強(qiáng)大的可維護(hù)性。
為什么有人說(shuō)thinkphp丑而快?
對(duì)于PHP語(yǔ)言,每個(gè)人的評(píng)價(jià)都是“又臟又快”。在PHP的眾多框架中,ThinkPHP作為一個(gè)輕量級(jí)的框架,在語(yǔ)法特性上有很多的封裝性,這使得項(xiàng)目發(fā)展迅速,但卻落后于“丑陋和快速”的評(píng)價(jià)。
了解TP框架的朋友都知道,與其他PHP框架相比,它非常簡(jiǎn)單易用。它最大的特點(diǎn)是做了大量的封裝,這使得curd操作非常簡(jiǎn)單。
在TP3版本中,整個(gè)框架看起來(lái)相對(duì)簡(jiǎn)單和統(tǒng)一,但是由于tp5.0和tp5.1的正式發(fā)布,代碼質(zhì)量非常差。它看起來(lái)不像一個(gè)框架,更像是一群人為了實(shí)現(xiàn)某種功能而組合起來(lái)的一個(gè)框架。
1. 不完整的文檔
在TP3中,文檔是相當(dāng)好和完整的,但是在TP5和更高版本中,老實(shí)說(shuō),如果你完全遵循文檔,你會(huì)感到困惑。而當(dāng)你在他們的官方網(wǎng)站上提問(wèn)時(shí),所謂的官方回復(fù)大概就是你是否愿意使用。
2. 筆者認(rèn)為這是“靈活”的,但不知道這種“靈活”導(dǎo)致代碼不能統(tǒng)一,這是相當(dāng)丑陋的。
我們可以理解,從TP3升級(jí)到TP5不支持無(wú)縫升級(jí)。但是,tp5.0和tp5.1在架構(gòu)模式上有很大的不同,這是不合理的
!作為一個(gè)框架,如果版本升級(jí)有問(wèn)題,人們?nèi)绾伟踩厥褂盟?/p>
thinkphp的缺點(diǎn)?
PHP框架對(duì)于項(xiàng)目來(lái)說(shuō)非常重要,這會(huì)影響團(tuán)隊(duì)的開發(fā)效率以及后續(xù)的維護(hù)和開發(fā)成本,對(duì)于框架,每個(gè)人都有自己的偏好。同樣的框架,有人愛到極致,有人管它叫垃圾。所以清理一下你需要的東西。
1. 根據(jù)GitHub的數(shù)據(jù),laravel位居榜首,在國(guó)外擁有最多的用戶。Laravel具有代碼簡(jiǎn)潔優(yōu)雅的優(yōu)點(diǎn),但其缺點(diǎn)是依賴于其他擴(kuò)展,其內(nèi)部預(yù)先復(fù)雜。當(dāng)系統(tǒng)復(fù)雜時(shí),需要配置大量的路由規(guī)則,文檔少,版本更新快,不連續(xù)。
2. ThinkPHP是由中國(guó)人開發(fā)和維護(hù)的。其優(yōu)點(diǎn)是中文文獻(xiàn)完善,社區(qū)活躍。它的缺點(diǎn)是高頻單字母函數(shù)讓人困惑,代碼不優(yōu)雅。適合中國(guó)人快速開發(fā)一些web系統(tǒng)。我覺得缺少orm。
3. Phalcon是一個(gè)用C編寫的PHP框架,它以PHP擴(kuò)展的形式加載。它的優(yōu)點(diǎn)是其性能絕對(duì)是第一,是其他框架的十倍。但其缺點(diǎn)是學(xué)習(xí)成本高。一旦發(fā)現(xiàn)框架bug,對(duì)于不懂C和PHP擴(kuò)展的學(xué)生來(lái)說(shuō),它幾乎是一條死胡同。
4. Yii是中國(guó)開發(fā)商,所以溝通比較順暢。它的優(yōu)點(diǎn)是強(qiáng)大的組件、豐富的類庫(kù)、成熟的模型、方便的GII、各種各樣的小部件、對(duì)ORM的支持、對(duì)多語(yǔ)言國(guó)際化的支持以及干凈的代碼。缺點(diǎn)是容易上手,難掌握,所以需要了解它的設(shè)計(jì)思想。
多角度比較
性能:Falcon>;Yii≈laravel,因?yàn)镕alcon是用C語(yǔ)言開發(fā)的,是用PHP擴(kuò)展加載的,所以不需要額外的框架解析和執(zhí)行,所以性能很好
代碼可讀性:laravel更好(表現(xiàn)力更強(qiáng),即使不懂PHP也能基本了解自己在做什么)
開發(fā)速度:Yii≥laravel>總結(jié)起來(lái),總體上Yii比較突出,適合中大型項(xiàng)目;ThinkPHP適合快速開發(fā)和中小型項(xiàng)目;Phalcon適用于高性能要求的項(xiàng)目;laravel適用于最追求簡(jiǎn)潔代碼的學(xué)生。每個(gè)人都得到他們需要的。