1、項(xiàng)目必須用thinkphp嗎?不一定非得有thinkphp框架,現(xiàn)在主流的框架除了thinkhphp ,還有Laravel、CodeIgniter、CakePHP、ZendFramework、Symfony、yii等知名框架,這幾個(gè)框架都是很成熟的框架了。
做普通項(xiàng)目,選用以上任何一個(gè)框架都沒有問題。
2、 用原生的不行嗎?用原生的可以。但使用框架更方便,可以減少開發(fā)時(shí)間,降低成本。
(1)防止重復(fù)造輪子,thinkphp框架幫你實(shí)現(xiàn)了MVC架構(gòu),路由功能,封裝數(shù)據(jù)庫操作,還有模型,視圖,日志等功能。
(2)前后端越來越分離?,F(xiàn)在很多用原生的大部分是前后端混寫,整個(gè)頁面最終會(huì)變得很混亂,不利于修改??蚣芤话愣紝?shí)現(xiàn)模板語言,相比把php語法混入前端頁面,模板語言更接近前端語言,代碼更簡(jiǎn)潔,可讀性更好,修改更方便。如果完全使用api接口提供服務(wù),可使用PhalApi 這類接口框架。
(3)統(tǒng)一的入口文件。不少使用原生PHP方式,都是一個(gè)頁面對(duì)應(yīng)一個(gè)php文件,項(xiàng)目結(jié)構(gòu)混亂,而且不安全。而thinkphp采用統(tǒng)一的入口文件,根據(jù)url和路由規(guī)則,執(zhí)行對(duì)應(yīng)模塊的控制器的方法,項(xiàng)目結(jié)構(gòu)清晰易管理。
(4)易用的數(shù)據(jù)庫封裝類。相信不少程序員都不喜歡寫純粹的sql語句,容易出錯(cuò)。而框架自帶了數(shù)據(jù)庫類,減少寫繁雜的sql語句,十分方便,效率提升不少。當(dāng)然,這樣帶來一個(gè)問題,就是有些程序員脫離了框架,就不懂怎么寫sql語句了。
(5)Thinkphp、PhalApi、Workerman也是基于原生php開發(fā)的框架。如果使用原生開發(fā),最終可能變得像那些框架,那為什么不一開始就采用成熟的框架呢?而Swoole框架甚至直接使用C語言開發(fā)。如果是小公司,并且沒有足夠的經(jīng)驗(yàn),采用成熟的框架的最明智的選擇。