目錄或文件說明
|– app包含Controller、Model、路由等在內的應用目錄,大部分業務將在該目錄下進行
| |– Console命令行程序目錄
| | |– Commands包含了用於命令行執行的類,可在該目錄下自定義類
| | |– Kernel.php命令調用內核文件,包含commands變量(命令清單,自定義的命令需加入到這裏)和schedule方法(用於任務調度,即定時任務)
| |– Events事件目錄
| |– Exceptions包含了自定義錯誤和異常處理類
| |– HttpHTTP傳輸層相關的類目錄
| | |– Controllers控制器目錄
| | |– Middleware中間件目錄
| | |– Requests請求類目錄
| | |– Kernel.php包含http中間件和路由中間件的內核文件
| | |– routes.php強大的路由
| |– Jobs該目錄下包含隊列的任務類
| |– Listeners監聽器目錄
| |– Providers服務提供者目錄
| |– User.php自帶的模型實例,我們新建的Model默認也存儲在該目錄
|– bootstrap框架啓動載入目錄
| |– app.php創建框架應用實例
| |– autoload.php自動加載
| |– cache存放框架啓動緩存,web服務器需要有該目錄的寫入權限
|– config各種配置文件的目錄
| |– app.php系統級配置文件
| |– auth.php用戶身份認證配置文件,指定好table和model就可以很方便地用身份認證功能了
| |– broadcasting.php事件廣播配置文件
| |– cache.php緩存配置文件
| |– compile.php編譯額外文件和類需要的配置文件,一般用戶很少用到
| |– database.php數據庫配置文件
| |– filesystems.php文件系統配置文件,這裏可以配置雲存儲參數
| |– mail.php電子郵件配置文件
| |– queue.php消息隊列配置文件
| |– services.php可存放第三方服務的配置信息
| |– session.php配置session的存儲方式、生命週期等信息
| |– view.php模板文件配置文件,包含模板目錄和編譯目錄等
|– database數據庫相關目錄
| |– factories5.1以上版本的新特性,工廠類目錄,也是用於數據填充
| | |– ModelFactory.php在該文件可定義不同Model所需填充的數據類型
| |– migrations存儲數據庫遷移文件
| |– seeds存放數據填充類的目錄
| |– DatabaseSeeder.php執行php artisan db:seed命令將會調用該類的run方法。該方法可調用執行該目錄下其他Seeder類,也可調用factories方法生成ModelFactory裏定義的數據模型
|– public網站入口,應當將ip或域名指向該目錄而不是根目錄。可供外部訪問的css、js和圖片等資源皆放置於此
| |– index.php入口文件
| |– .htaccessApache服務器用該文件重寫URL
| |– web.configIIS服務器用該文件重寫URL
|– resources資源文件目錄
| |– assets可存放包含LESS、SASS、CoffeeScript在內的原始資源文件
| |– lang本地化文件目錄
| |– views視圖文件就放在這啦
|– storage存儲目錄。web服務器需要有該目錄及所有子目錄的寫入權限
| |– app可用於存儲應用程序所需的一些文件
| |– framework該目錄下包括緩存、sessions和編譯後的視圖文件
| |– logs日誌目錄
|– tests測試目錄
|– vendor該目錄下包含Laravel源代碼和第三方依賴包
|– .env環境配置文件。config目錄下的配置文件會使用該文件裏面的參數,不同生產環境使用不同的.env文件即可。
|– artisan強大的命令行接口,你可以在app/Console/Commands下編寫自定義命令
|– composer.json存放依賴關係的文件
|– composer.lock鎖文件,存放安裝時依賴包的真實版本
|– gulpfile.jsgulp(一種前端構建工具)配置文件
|– package.jsongulp配置文件
|– phpspec.ymlphpspec(一種PHP測試框架)配置文件
|– phpunit.xmlphpunit(一種PHP測試框架)配置文件
|– server.phpPHP內置的Web服務器將把這個文件作爲入口。以public/index.php爲入口的可以忽略掉該文件
composer.json文件
{
"name": "laravel/laravel", //項目名稱
"description": "The Laravel Framework.", //描述
"keywords": ["framework", "laravel"], //關鍵詞
"license": "MIT", //許可協議
"type": "project", //類型
"require": {
"php": ">=5.5.9", //PHP版本
"laravel/framework": "5.2.*" //框架版本
},
"require-dev": { //依賴包
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*"
},
"autoload": { //自動加載
"classmap": [
"database"
],
"psr-4": { //一種自動加載的規範
"App\\": "app/"
}
},
"autoload-dev": { //加載測試
"classmap": [
"tests/TestCase.php"
]
},
"scripts": { //執行腳本
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
]
},
"config": { //配置項
"preferred-install": "dist" //優先安裝壓縮版
},
"repositories": { //配置composer鏡像
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}