iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

從0開始-30天摸索laravel系列 第 2

DAY2 : 什麼是MVC?

  • 分享至 

  • twitterImage
  •  

要開始玩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的實測


上一篇
DAY1 : laravel 閒聊
下一篇
DAY3 : 再忍一下,還有git~
系列文
從0開始-30天摸索laravel31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言