根目錄
App目錄
app
目錄包含應(yīng)用程序的核心代碼氢哮。
Bootstrap目錄
bootstrap
目錄包含了一些文件导匣,app.php
用于框架的啟動(dòng), autoload.php
用于自動(dòng)載入配置, cache
目錄包含用于性能優(yōu)化的框架生成文件,例如路由和服務(wù)緩存文件懒闷。
Config目錄
config
目錄包含所有應(yīng)用程序的配置文件卸奉。
Database目錄
database
目錄包含數(shù)據(jù)庫(kù)遷移和種子慰毅。包含了以下文件德撬,factories
用于存放數(shù)據(jù)庫(kù)模型工廠 , migrations
用于存放數(shù)據(jù)庫(kù)遷移文件,seeds
用于存放數(shù)據(jù)填充器。
Public目錄
public
目錄包含應(yīng)用程序的入口文件 和 應(yīng)用程序的 CSS
固歪、 JavaScript
蒜鸡、images
、 index.php
牢裳。
Resources目錄
resources
目錄包含視圖views
以及您的未編譯資源(如LESS
逢防,SASS
或JavaScript
)。該目錄還包含所有的語(yǔ)言文件蒲讯。
Routes目錄
routes
目錄包含應(yīng)用程序的所有路由定義忘朝。包含文件:web.php
、 api.php
判帮、console.php
局嘁、channels.php
。
web.php
文件包含 RouteServiceProvider
放置在 Web中間件組
中的路由脊另,它提供會(huì)話狀態(tài)导狡,CSRF保護(hù)和cookie加密约巷。 如果您的應(yīng)用程序不提供無(wú)狀態(tài)的RESTful API偎痛,則所有路由都將很可能在web.php文件中定義。
api.php
文件包含 RouteServiceProvider
放置在 api中間件組
中的路由独郎,它提供了速率限制踩麦。 這些路由是無(wú)狀態(tài)的,因此通過(guò)這些路由進(jìn)入應(yīng)用的請(qǐng)求旨在通過(guò)令牌進(jìn)行身份驗(yàn)證氓癌,并且不會(huì)訪問(wèn)會(huì)話狀態(tài)谓谦。
console.php
文件是您可以定義所有基于 Closure
的控制臺(tái)命令的地方。 每個(gè)Closure綁定到一個(gè)命令實(shí)例贪婉,允許簡(jiǎn)單的方法與每個(gè)命令的 IO
方法進(jìn)行交互反粥。 即使此文件未定義HTTP路由,它也將基于控制臺(tái)的入口點(diǎn)(路由)定義到應(yīng)用程序中。
channels.php
文件是您可以注冊(cè)您的應(yīng)用程序支持的所有事件廣播頻道的地方才顿。
Storage目錄
storage
目錄包含編譯的 Blade
模板莫湘,基于文件的 session
,文件緩存,以及框架生成的其他文件郑气。該目錄分成 app
,framework
和 logs
目錄幅垮。
app
目錄用于存放應(yīng)用要使用的文件。
framework
目錄用于存放框架生成的文件和緩存尾组。
logs
目錄包含應(yīng)用的日志文件忙芒。
storage/app/public
目錄用于存儲(chǔ)用戶生成的文件。例如可被公開(kāi)的用戶頭像讳侨,要達(dá)到被訪問(wèn)的目的呵萨,你還需要在public目錄下生成一個(gè)軟連接 storage 指向這個(gè)目錄∫可以使用 php artisan storage:link
Tests目錄
tests
目錄包含應(yīng)用程序的自動(dòng)測(cè)試甘桑。包含feature
存放自定義功能測(cè)試,Unit
用于自定義單元測(cè)試 ,TestCase.php
測(cè)試類的基類。一個(gè)開(kāi)箱即用的 PHPUnit
示例歹叮。每個(gè)測(cè)試類應(yīng)該用 Test
后綴跑杭。您可以使用 phpunit
或 php vendor/bin/phpunit
命令運(yùn)行測(cè)試。
Vendor目錄
vendor
目錄包含應(yīng)用程序的 Composer
依賴項(xiàng)咆耿。
根目錄下的文件
.env
文件為應(yīng)用程序的全局環(huán)境配置文件
.gitattributes
指定非文本文件的對(duì)比合并方式
.gitignore
忽略提交的文件或目錄
artisan
Artisan 控制臺(tái)
composer.json
Composer 依賴文件
composer.lock
Composer 標(biāo)準(zhǔn)包鎖定文件
package.json
腳本依賴文件
phpunit.xml
phpunit 測(cè)試設(shè)定文件
readme.md
關(guān)于應(yīng)用程序的介紹
server.php
測(cè)試服務(wù)文件
webpack.mix.js
資源編譯文件
App目錄
app
目錄為應(yīng)用程序的核心德谅。
Console
目錄包含應(yīng)用程序所有自定義的 Artisan
命令。 這些命令可以使用 make:command
命令生成萨螺。此目錄還包含 Console Kernel
類窄做,在這里可以注冊(cè)自定義的 Artisan 命令以及定義調(diào)度任務(wù)。
Http
目錄包含 HTTP傳輸層 相關(guān)目錄慰技,如 Controllers
控制器目錄椭盏,Middleware
中間件目錄 ,Kernel.php
包含http中間件和路由中間件的內(nèi)核文件
Providers
目錄包含應(yīng)用的所有服務(wù)提供者吻商。服務(wù)提供者在啟動(dòng)應(yīng)用過(guò)程中綁定服務(wù)到容器掏颊、注冊(cè)事件以及執(zhí)行其他任務(wù)以為即將到來(lái)的請(qǐng)求處理做準(zhǔn)備。
Events
目錄默認(rèn)不存在艾帐,但是可以用 event:generate
和 make:event
Artisan 命令生成乌叶。該目錄包含 事件類 。事件類用于告知應(yīng)用其他部分某個(gè)事件發(fā)生并提供靈活的柒爸、解耦的處理機(jī)制准浴。
Exceptions
目錄包含應(yīng)用程序的異常處理
。也是應(yīng)用程序拋出任何一場(chǎng)的地方捎稚。如果要自定義異常如何記錄異忱趾幔或渲染求橄,應(yīng)該修改此目錄的 Handler
類。
Jobs
目錄默認(rèn)不存在葡公,但是可以用 make:job
Artisan 命令生成谈撒。job
目錄用于存放 隊(duì)列任務(wù)。應(yīng)用中的任務(wù)可以被推送到隊(duì)列匾南,也可以在當(dāng)前請(qǐng)求生命周期內(nèi)同步執(zhí)行啃匿。同步執(zhí)行的任務(wù)有時(shí)也被看作 命令
,因?yàn)樗鼈儗?shí)現(xiàn)了命令模式蛆楞。
Listeners
目錄默認(rèn)不存在溯乒,但是可以用 event:generate
和 make:listener
Artisan 命令生成。該目錄包含處理事件的類 (事件監(jiān)聽(tīng)器)豹爹。事件監(jiān)聽(tīng)器接收一個(gè)事件并提供對(duì)該事件發(fā)生后的響應(yīng)邏輯裆悄。 例如 , UserRegistered
事件可以被 SendWelcomeEmail
監(jiān)聽(tīng)器處理臂聋。
Mail
目錄默認(rèn)不存在光稼,但是可以用 make:mail
Artisan 命令生成。Mail
目錄包含郵件發(fā)送類郵件對(duì)象允許你在一個(gè)地方封裝構(gòu)建郵件所需的所有業(yè)務(wù)邏輯孩等,然后使用 Mail::send
方法發(fā)送郵件艾君。
Notifications
目錄默認(rèn)不存在,但是可以用 make:notification
Artisan 命令生成肄方。Notifications
目錄包含應(yīng)用發(fā)送的所有通知冰垄,比如事件發(fā)生通知。Laravel 的通知功能將通知發(fā)送和通知驅(qū)動(dòng)解耦权她,你可以通過(guò)郵件虹茶,也可以通過(guò)Slack、短信或者數(shù)據(jù)庫(kù)發(fā)送通知隅要。
Policies
目錄默認(rèn)不存在蝴罪,但是可以用 make:policy
Artisan 命令生成。 Policies
目錄包含了所有的授權(quán)策略類步清。策略用于判斷某個(gè)用戶是否有權(quán)限去訪問(wèn)指定資源要门。更多信息請(qǐng)查看 授權(quán)文檔。