要講到Laravel就一定會提到MVC,相信對於程式設計稍有接觸的人都對MVC這個大名非常有印象,下面我就先跟大家簡單的講解一下MVC是什麼。

MVC是一種軟體架構模式,在開發的時候把軟體系統分為以下三個基本部分:
    (1) 模型(Model)
邏輯層,主要是用來封裝一些邏輯相關的資料、資料處理的方式…等。
    (2) 視圖(View)
表現層,負責管理畫面的呈現,也就是HTML樣板(Template)。
    (3) 控制器(Controller)
控制層,可以說是MVC的中間人,他決定了應用程式的工作流程。使用者動作會先傳至控制器(Controller),再由控制器通知模型(Model)調度資料,並將資料傳遞給視圖(View)來產生樣板(Template),然後再將呈現資料的HTML頁面顯示給使用者。

MVC的目的是實現一種動態的程式設計,使後續程式的修改及擴充簡化,並使程式某一部分可以重複使用,甚至由於將程式架構分為Model、View、Controller三個部份的關係更可以使程式結構更加直覺,所以深受開發者喜愛。

雖然上面所說的MVC架構實際上應該叫做Model2,而不是傳統意義上的MVC,但那就是後話了…...。簡單的介紹了MVC,相信大家大致上有些概念了,那Laravel呢?Laravel又是什麼呢?

簡單來說,Laravel就是個基於MVC架構的PHP框架。但是PHP框架百百種(ex.Symfony、Codelgniter、Yii、CakePHP),為什麼會選擇Laravel呢?Laravel身為近幾年來最多人使用的PHP框架,當然有他的優點,我們就來講講Laravel的優點。
Laravel優點:
    (1) 開發者不用擔心後續維護問題
由Taylor Otwell負責開發及維護,並在5.1版開始支援LTS Release(長期支援,一種軟體的產品生命週期政策)。對於Open Sourse來說,最害怕的就是後續無人維護。試想如果你的產品都是使用Laravel架構,有一天突然發現Laravel不再更新不再維護了,那絕對是一件悲劇。
    (2) 開發環境建置(Laravel Homestead)
Laravel Homestead包含了(Ubuntu、PHP、Git、Nginx、MySQL…等),使開發者不用在個人電腦架設任何環境。相信很多人都有發現,當每次開發新的專案前,都會浪費很多時間在建置環境(MySQL、Nginx、PHP、Node…等),除了這些前後端環境以外還有OS環境要處理(Linux、Windows、MacOSX)。使用Laravel這些麻煩的環境建置問題全部都搞定了。
    (3) 路由(Laravel Routing)
Route(路由)簡單來說就是中間人的概念,他會將接受到的訊息,轉送給該去的地方。在沒有接觸過框架之前,寫出來的網址通常像”https://mywebsite/index.php”、” https://mywebsite/login.php”,這種方式會帶來維護上的困難及安全上的問題。而Laravel Routing就是使整個網站的入口固定,當Client端要求網址時,會由Route去轉給相對應的Controller,經過處理後回傳View給Client端。同時對於檔案的管理也會更加的方便。
    (4) 第三方服務(Laravel Service)
Laravel提供了非常完整的第三方服務,包含了帳號登入、權限管理、Mail(SMTP、Mailgun…)、多國語言、分頁管理、排程管理…等。

除了上述所說的優點以外,還有非常多的方便厲害資源,Laravel絕對可以說是PHP開發者的一大福音阿!雖然說了這麼多關於Laravel的事,但是其他的框架也都有各自的優點所在,所以選擇什麼框架還是要依照個人的需求去判定噢!

arrow
arrow

    網頁設計小精靈 發表在 痞客邦 留言(0) 人氣()