根目錄結構
/app
/bootstrap
/public
/vendor
artisan
composer.json
server.php
1./app
整個Laravel 目錄中最須要咱們注意的地方,包含設置(config)、路由(routing)、MVC 模型的三大模塊都在這裏,項目的主要代碼工做都在這個目錄下完成。javascript
2./bootstrap
這個目錄主要是用來存放全部的第三方代碼,包括框架函數源碼(/vendor/laravel)、插件和擴展等。php
3./public
這個目錄是網站的訪問入口,請求都會進入 index.php ,同時存放全部對外開放的資源目錄,如 css、javascript 以及圖片等等皆被存放在此。css
4./vendor
這個目錄主要是用來存放全部的第三方代碼,包括框架函數源碼(/vendor/laravel)、插件和擴展等。html
5.artisan
工匠指令,這是 Laravel 框架裏的命令行工具。java
6.composer.json
該文件是應用的配置文件,描述了應用的相關信息,如名稱、版本、許可證書等,同時也寫明瞭應用啓動時會自動加載某些文件夾或文件,見"autoloand",因此laravel
當你須要在 controller 或者 model 添加子目錄時能夠在 autoload 的 classmap 處申明;也容許你申明應用所需的依賴庫進而會在項目裏幫你安裝依賴庫;web
7.server.php
該文件實際上是給php內置的服務器用的,當使用 php -S localhost:9999 server.php 開啓內置服務器的時候,就會使用server.php作了部分url兼容的工做,往地址欄輸入:localhost:9999便可打開項目主頁。數據庫
而在laravel項目的目錄下敲命令:php artisan serve,會默認打開端口8000,此時輸入http://localhost:8000,可打開laravel項目的主頁。json
不過需將/app/storage設置爲可讀寫。bootstrap
Application 目錄結構
/config
/controllers
/databases
/lang
/models
/start
/storage
/tests
/views
filters.php
routes.php
1./config
雖然 Laravel 程序在一開始的使用能夠不作任何設置,但咱們確定還須要更多的設置來完成業務上的需求,全部的設置都放在這個目錄中。
2./controllers
這個目錄放 MVC 模型中的控制器(controller) 。
3./database
/migrations/:包含一些PHP類,容許Laravel更新當前數據庫的架構並同時保持全部版本的數據庫的同步。遷移文件是使用Artisan工具生成的。
/seeds/: 包含容許Artisan工具用關係數據來填充數據庫表的PHP文件。
4./lang
語言目錄,Laravel 框架的語系採用文字格式,先用目錄作各語系的分別,再依所須要的文件來存放,默認是英文(「en」)。
轉換語言的方法是 config 目錄下的 application.php 文件中的language ,設定值與語言文件夾名相同便可。
5./models
MVC 模型中的 M,就是咱們的業務邏輯(business logic),基本上就是定義了咱們要從數據庫中取出的內容、經過 web service 要傳出的內容等。
原則上,也是搭配著 Laravel 框架中 Eloquent ORM 對數據庫進行存取,包含在 auto-loading 之中。
6./start
包含與 artisan 工具、global(不限定本地環境,不管處於什麼環境都會加載裏面的內容)和 locale 上下文相關的啓動文件,應用響應請求時會加載這些文件。
7./storage
存儲 Laravel 各類服務的臨時文件,如session、cache、log、views等,必須保證能夠寫入,由 Laravel 本身維護。
8./tests
Laravel 框架整合了 PHPUnit ,方便咱們對專門的程序進行單元測試,因此咱們能夠直接參考PHPUnit 文件來編寫單元測試,在全新的文件目錄中含有 example.test.php 的基本範例。可使用artisan工具一次性執行全部的測試。
9./views
HTML 的模板(template),也就是 MVC 模型中的 V。而模板除了原始的 HTML 格式外,Laravel 框架提供了 Blade Template Engine ,讓咱們能夠用比較簡潔的方式編寫模板文件,而這些文件只要的擴展名改成 .blade.php ,例如 index.blade.php,模板引擎就會自動幫咱們編譯了,想要了解更多的內容,說明文件 – Blade Template Engine 中有詳細介紹。
10.filters.php
該文件包含應用程序的篩選方法和一些過濾器,爲程序使用。Laravel具備訪問控制和 XSS 保護的一些預約義篩選器。
11.routes.php路由設置,接收請求,再根據咱們的設定調用相應的程序進行迴應。如果請求不存在或請求失敗則返回 404 或 500 的錯誤迴應。