[laravel]Laravel架構的體繫結構

來源:互聯網
上載者:User
Laravel被稱為“全棧”式架構,因為它能夠處理從網路服務到資料庫管理、HTML產生的一切事情,垂直整合的web開發環境給開發人員提供了更好的體驗。

開發人員可以通過命令列工具,產生和管理Laravel項目環境。Laravel附帶了一個名為Artisan的優秀的命令列工具,它提供了一些開發過程中有用的命令用,可以用來產生架構代碼和資料庫管理。它是基於強大的Symfony Console 組件開發的。

Laravel的目標是給開發人員創造一個愉快的開發過程,並且不犧牲應用的功能性。快樂的開發人員才能創造最棒的代碼!為了這個目的,我們博取眾架構之長處集中到Laravel中,這些架構甚至是基於Ruby on Rails、ASP.NET MVC、和Sinatra等開發語言或工具的。

Laravel是易於理解並且強大的,它提供了強大的工具用以開發大型、健壯的應用。傑出的IoC、資料庫遷移工具和緊密整合的單元測試支援,這些工具賦予你構建任何應用的能力。

目錄結構

這是所有laravel項目具有基本上相同的目錄結構,其中的每個檔案都具有指定的地方。通過對目錄結構的約定,確保你是按照“laravel方式”來工作。

正如你看到的,laravel項目下面有4個檔案夾:app、bootstrap、public、vendor,這4個檔案夾下面又有很多個子檔案夾,當你第一次看到這麼豐富的檔案夾內容時,是不是覺得很有壓力?沒關係,我們會逐一的來瞭解不同的檔案夾。

  • app 包含了網站的controllers(控制器),models(模型),views(視圖)和assets(資源)。這些是網站啟動並執行主要代碼,你會將你大部分的時間花在這個目錄裡。
  • bootstrap 用來存放系統啟動時需要的檔案,這些檔案會被如index.php這樣的檔案調用。
  • bootstrap 用來存放系統啟動時需要的檔案,這些檔案會被如index.php這樣的檔案調用。
  • public 這個檔案夾是唯一外界可以看到的web伺服器的目錄。它含有laravel架構核心的引導檔案index.php,這個目錄也可用來存放任何可以公開的靜態資源,如css,Javascript,images等
  • vender
  • app目錄

    模型-視圖-控制器(MVC)

    讓我們更深一步瞭解如何建立laravel應用。你可能已經注意到,app目錄下面有三子目錄:models,views,controllers。這是表明了laravel是model-view-controller(MVC)架構模式,它將“商務邏輯”與圖形化使用者介面相關的輸入和顯示邏輯(GUI)分離。在laravel Web應用中,商務邏輯通常由資料模型(如使用者,部落格文章)組成,GUI則只是一個瀏覽器中的頁面。MVC設計模式在Web的開發領域中非常受歡迎。MVC模式的三個要素:

  • 模型(model)
  • 視圖(view)
  • 控制器(controller)
  • Laravel的響應流程

    一個典型的laravel應用程式由上面提到的MVC組成

    當訪問一個laravel應用程式時,瀏覽器發送一個請求,由Web伺服器接收並傳遞到laravel的路由引擎。該laravel路由器接收到請求後,根據配置重新導向到相應的控制器類的方法。

    然後由控制器類接管。在某些情況下,控制器將立即渲染一個視圖,這是一個模板,將被轉換成HTML並且發送回瀏覽器。更普遍的動態網站,控制器與模型進行互動,與資料庫進行通訊。調用模型後,控制器呈現最終視圖(HTML、CSS和映像)並返回完整的web頁面到使用者的瀏覽器。

    Laravel提倡模型、視圖和控制器,應保持完全獨立的儲存單獨的檔案在不同的目錄。這就是laravel的目錄結構發揮作用的地方。

    像MVC這樣的設計模式的產生,就是為了讓開發人員的工作更加輕鬆。這就是Laravel比那些不用任何模式的PHP厲害的地方。如果這種討論你現在感覺很抽象,不用擔心!當你開始用Laravel工作,你都不會意識到你是在一種設計模式中工作。過一段時間後,就會變得自然了。

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.