要開始玩laravel之前,必須要來溫習一下什麼是MVC,MVC並不是一個技術,也不是個程式語言而是一種軟體架構。MVC是指Model、View以及Controller的詞的縮寫。MVC也並非只存在於專屬於PHP,常見的WEB語言都有框架支援MVC架構,甚至也有MVC所延伸出來的版本。
MVC大致上會把整個功能依據下列這三大區塊做切割:
模型(Model)
負責邏輯與資料處理,簡單概述就是與資料庫溝通以及資料準備跟處理。
視圖(View)
資料顯示,常見的就是CSS 、HTML、JS…等呈現畫面有關。
控制器(Controller)
溝通model與view之間。
所以一個正常的MVC,SQL不會出現在Controller或者View,Model也不會出現HTML,這種方式將整個網站程式分割出來,很適合多人合作模式的情形,因為M、V、C之間互相干涉的部分很少且可以獨立開發,負責寫View的人只需要知道後端會拋什麼資料過來,便可以開始著手撰寫,而後端也只需要拋出前端所需要的資料及格式,其餘改CSS、改HTML都不需要一起更動到後端的程式語言。
MVC重點如下:
優點:
缺點:
PHP框架的歷史(我所知道的)
CakePHP-> Symfony -> zend framework、codeigner-> Yii->laravel
哪個好用的部分,我個人是覺得各有優缺點啦!所以就給客官自行判斷囉~
同場加映:
來自Laravel 之父 Taylor Otwell的實測