国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Laravel 5.8 ??? ?? ??? / 文件夾結(jié)構(gòu)

文件夾結(jié)構(gòu)

文件夾結(jié)構(gòu)


Laravel 的文件夾結(jié)構(gòu)

簡介

默認的 Laravel 應(yīng)用結(jié)構(gòu)旨在為不同大小的應(yīng)用提供一個很好的起點。當(dāng)然,您可以隨意組織您的應(yīng)用程序。Laravel 對任何給定類的位置幾乎沒有任何限制,只要它們能被 Composer 自動加載。

為什么沒有模型目錄?

當(dāng)開始使用 Laravel 時,許多開發(fā)人員都因缺少  models 目錄而感到困惑。然而,缺少這樣的目錄是故意的。我們發(fā)現(xiàn)「模型」含糊不清,因為不同的人對「模型」有不同的理解。一些開發(fā)者把應(yīng)用的「模型」稱為其所有業(yè)務(wù)邏輯的總體,而另一些人將「模型」稱為與關(guān)系數(shù)據(jù)庫交互的類。

出于這個原因,我們默認把 Eloquent 的模型放在  app   目錄下,并允許開發(fā)人員將它們放在其他地方。

根目錄

App 目錄

app  目錄包含應(yīng)用程序的核心代碼。你應(yīng)用中幾乎所有的類都應(yīng)該放在這里。稍后我們會更深入地了解這個目錄的細節(jié)。

Bootstrap 目錄

bootstrap 目錄包含引導(dǎo)框架的 app.php 文件。該目錄還包含了一個 cache 目錄, cache 目錄下存放著框架生成的用來提升性能的文件,比如路由和服務(wù)緩存文件。

Config 目錄

config 目錄,顧名思義,包含應(yīng)用程序所有的配置文件。我們鼓勵你通讀這些文件,以便幫助你熟悉所有可用的選項。

Database 目錄

database 目錄包含數(shù)據(jù)填充和遷移文件以及模型工廠類。你還可以把它作為 SQLite 數(shù)據(jù)庫存放目錄。

Public 目錄

public 目錄包含了入口文件 index.php ,它是進入應(yīng)用程序的所有請求的入口點。此目錄還包含了一些你的資源文件(如圖片、JavaScript 和 CSS)。

Resources 目錄

resources 目錄包含了視圖和未編譯的資源文件(如 LESS、SASS 或 JavaScript)。此目錄還包含你所有的語言文件。

Routes 目錄

routes 目錄包含了應(yīng)用的所有路由定義,Laravel 默認包含了幾個路由文件:web.phpapi.php、 console.phpchannels.php。

web.php 文件包含 RouteServiceProvider 放置在 web 中間件組中的路由,它提供會話狀態(tài)、CSRF 防護和 cookie 加密。如果你的應(yīng)用不提供無狀態(tài)的、RESTful 風(fēng)格的 API,則所有的路由都應(yīng)該在 web.php 文件中定義。.

api.php 文件包含 RouteServiceProvider 放置在 api 中間件組中的路由,它提供了頻率限制。這些路由都是無狀態(tài)的,所以通過這些路由進入應(yīng)用請求旨在通過令牌進行身份認證,并且不能訪問會話狀態(tài)。

console.php 文件是定義所有基于控制臺命令閉包函數(shù)的地方。每個閉包函數(shù)都被綁定到一個命令實例并且允許和命令行 IO 方法進行簡單的交互。盡管這些文件沒有定義 HTTP 路由,但它也將基于控制臺的入口點(路由)定義到應(yīng)用程序中。

channels.php 用來注冊你的應(yīng)用支持的所有的事件廣播渠道的地方。

Storage 目錄

storage 目錄包含編譯后的 Blade 模板、session 會話生成的文件、緩存文件以及框架生成的其他文件。這個目錄被細分成 app 、 frameworklogs 三個子目錄。app 目錄可以用來存儲應(yīng)用生成的任何文件。 framework 目錄用來存儲框架生成的文件和緩存。最后, logs 目錄包含應(yīng)用的日志文件。

storage/app/public 可以用來存儲用戶生成的文件,比如需要公開訪問的用戶頭像。你應(yīng)該創(chuàng)建一個 public/storage  的軟鏈接指向這個目錄。你可以直接通過 php artisan storage:link 命令來創(chuàng)建此鏈接。

Tests 目錄

tests 目錄包含自動化測試文件。在 PHPUnit 有現(xiàn)成的范例供你參考。每個測試類都應(yīng)該以 Test 作為后綴。你可以使用 phpunit 或者 php vendor/bin/phpunit 命令來運行測試。

Vendor 目錄

vendor 目錄包含你所有的 Composer 依賴包。

App 目錄

你的大部分的應(yīng)用程序都位于 app 目錄中。默認情況下,此目錄的命名空間為 App,并通過 Composer 使用 PSR-4 自動加載標準 自動加載。

app 目錄包含額外的各種目錄,比如:Console,HttpProviders。將 ConsoleHttp 目錄視為向應(yīng)用程序的核心提供 API。HTTP 協(xié)議和 CLI 都是與應(yīng)用程序交互的機制,但實際上并不包含應(yīng)用程序邏輯。換句話說,它們是向你的應(yīng)用程序發(fā)出命令的兩種方式。Console 目錄包含所有的 Artisan 命令,而 Http 目錄包含你的控制器,中間件和請求。

當(dāng)你使用 make Artisan 命令生成類時,將在 app 目錄下生成各種其它目錄。因此,例如,app/Jobs 目錄直到你執(zhí)行 make:job Artisan 命令去生成一個作業(yè)類之前將不存在

{tip} 許多類通過 Artisan 命令生成在 app 目錄中。為了查看可用的命令,在你的終端運行 php artisan list make 命令。

Broadcasting 目錄

Broadcasting 目錄包含應(yīng)用程序的所有廣播通道類。這些類使用 make:channel 命令生成。此目錄默認時不存在的,但是當(dāng)你創(chuàng)建第一個通道時它將被創(chuàng)建。要了解更多的關(guān)于頻道的信息,查看有關(guān)文檔 事件廣播。

Console 目錄

Console 目錄包含應(yīng)用程序的所有自定義 Artisan 命令。這些命令可以使用 make:command 命令生成。此目錄也安置了控制臺內(nèi)核,在其中你可以注冊自定義的 Artisan 命令,并定義 計劃任務(wù)。

Events 目錄

默認情況下這個目錄是不存在的,但你可以通過 event:generatemake:event Artisan 命令去創(chuàng)建。Events 目錄安置 事件類。事件可用于警告應(yīng)用程序的其它部分發(fā)生了一個給定的操作,提供了極大的靈活性和解耦。

Exceptions 目錄

Exceptions 目錄包含應(yīng)用程序的異常處理,并且也是一個放置應(yīng)用程序拋出任何異常的好地方。如果你想自定義異常的記錄和渲染方式,你應(yīng)該修改此目錄中的 Handler 類。

Http 目錄

Http 目錄包含你的控制器,中間件和表單請求。處理進入應(yīng)用程序請求的所有邏輯幾乎都放置在此目錄。

Jobs 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行 make:job Artisan 命令時,它將被創(chuàng)建出來。Jobs 目錄安置應(yīng)用程序的 可排隊作業(yè)。Jobs 可由應(yīng)用程序排對作業(yè),也可以在當(dāng)前請求的生命周期內(nèi)同步運行。在當(dāng)前請求期間同步運行的 Jobs 有時會稱為『命令』,因為它們是 命令模式 的一個實現(xiàn)。

Listeners 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行了 event:generate 或者 make:listener Artisan 命令時,它將會被創(chuàng)建出來。Listeners 目錄包含 事件 的處理類。事件偵聽器接收一個事件實例并執(zhí)行邏輯以響應(yīng)被觸發(fā)的事件。例如,一個 UserRegistered 事件可能被 SendWelcomeEmail 偵聽器處理。

Mail 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行 make:mail Artisan 命令,它將被創(chuàng)建出來。Mail 目錄包含應(yīng)用程序發(fā)送郵件的所有類。郵件對象允許你去構(gòu)建一個封裝所有邏輯的郵件類,這個簡單類中可以使用 Mail::send 方法發(fā)送郵件。

Notifications 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行 make:notification Artisan 命令,它將被創(chuàng)建出來。Notifications 目錄包含應(yīng)用程序的發(fā)送的所有『事務(wù)』通知,比如關(guān)于應(yīng)用程序中發(fā)生的事件的簡單通知。Laravel 的通知功能抽象了通過各種驅(qū)動(如:電子郵件,Slack,SMS 或者存儲在數(shù)據(jù)庫中)去發(fā)送通知。

Policies 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行 make:policy Artisan 命令,它將被創(chuàng)建出來。Policies 目錄包含應(yīng)用程序的授權(quán)策略類。策略用于確定一個用戶是否對一個資源能否執(zhí)行一個給定的操作。有關(guān)更多信息,查看 授權(quán)文檔。

Providers 目錄

Providers 目錄包含應(yīng)用程序的所有 服務(wù)提供者。服務(wù)提供者通過在服務(wù)容器中綁定服務(wù)引導(dǎo)應(yīng)用程序,注冊事件或者準備為應(yīng)用程序即將到來的請求執(zhí)行其它任何任務(wù)。

在一個新的 Laravel 應(yīng)用中,此目錄已經(jīng)包含一些提供者。你可以根據(jù)需要隨意將你自己的提供者添加到此目錄中。

Rules 目錄

默認情況下這個目錄是不存在的,但如果你執(zhí)行 make:rule Artisan 命令,它將被創(chuàng)建出來。Rules 目錄包含應(yīng)用程序的自定義驗證規(guī)則對象。規(guī)則用于將復(fù)雜的驗證邏輯封裝在一個簡單對象中。關(guān)于更多信息,查看 驗證文檔。

本文章首發(fā)在 LearnKu.com 網(wǎng)站上。