久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔

Laravel目錄結(jié)構(gòu)

2024-08-07 232

Laravel應(yīng)用的默認(rèn)結(jié)構(gòu)旨在為各種規(guī)模的應(yīng)用程序提供出色的起點。然而,可以按照自己的喜好自由地組織應(yīng)用程序。Laravel幾乎不對任何給定類的位置施加限制-只要Composer能夠自動加載該類。本教程主要介紹Laravel的目錄結(jié)構(gòu)。

一、根目錄

1、app目錄

app目錄包含應(yīng)用程序的核心代碼。我們將很快更詳細(xì)地探索這個目錄;然而,應(yīng)用程序中幾乎所有的類都將位于此目錄。

2、bootstrap目錄

bootstrap目錄包含引導(dǎo)框架的app.php文件。此目錄還包含一個cache目錄,其中包含用于性能優(yōu)化的框架生成文件,例如路由和服務(wù)緩存文件。

3、config目錄

config目錄包含應(yīng)用程序的所有配置文件。

4、database目錄

database目錄包含數(shù)據(jù)庫遷移、模型工廠和種子文件。如果愿意,還可以使用此目錄來保存SQLite數(shù)據(jù)庫。

5、public目錄

public目錄包含index.php文件,這是所有請求進(jìn)入應(yīng)用程序的入口點,并配置自動加載。此目錄還包含資產(chǎn),如圖像、JavaScript和CSS。

6、resources目錄

resources目錄包含視圖以及原始的、未編譯的資產(chǎn),如CSS或JavaScript。

7、routes目錄

routes目錄包含應(yīng)用程序的所有路由定義。默認(rèn)情況下,Laravel附帶了兩個路由文件:web.php和console.php。

web.php文件包含Laravel放置在web中間件組中的路由,該組提供會話狀態(tài)、CSRF保護(hù)和cookie加密。如果應(yīng)用程序不提供無狀態(tài)的、RESTfulAPI,則所有路由很可能都將在web.php文件中定義;

console.php文件是可以定義所有基于閉包的控制臺命令的地方。每個閉包都綁定到一個命令實例,允許簡單地與每個命令的IO方法進(jìn)行交互。盡管此文件不定義HTTP路由,它定義了基于控制臺的應(yīng)用程序入口點(路由)。還可以在console.php文件中安排任務(wù);

如果需要,可以通過install:api和install:broadcastingArtisan命令安裝額外的API路由(api.php)和廣播頻道(channels.php)文件;

api.php文件包含旨在無狀態(tài)的路由,因此通過這些路由進(jìn)入應(yīng)用程序的請求旨在通過令牌進(jìn)行認(rèn)證,并且不會訪問會話狀態(tài);

channels.php文件是可以注冊應(yīng)用程序支持的所有事件廣播頻道的地方。

8、storage目錄

storage目錄包含日志、編譯的Blade模板、基于文件的會話、文件緩存以及框架生成的其他文件。此目錄分為app、framework和logs目錄。app目錄可用于存儲應(yīng)用程序生成的任何文件。framework目錄用于存儲框架生成的文件和緩存。最后,logs目錄包含應(yīng)用程序的日志文件。

storage/app/public目錄可用于存儲用戶生成的文件,如應(yīng)該公開訪問的個人資料頭像。應(yīng)該在public/storage創(chuàng)建指向此目錄的符號鏈接??梢允褂胮hpartisanstorage:linkArtisan命令創(chuàng)建鏈接。

9、tests目錄

tests目錄包含自動化測試。默認(rèn)情況下提供了Pest或PHPUnit單元測試和功能測試示例。每個測試類應(yīng)以Test單詞為后綴??梢允褂?vendor/bin/pest或/vendor/bin/phpunit命令運行測試?;蛘?,如果希望對測試結(jié)果有更詳細(xì)和美觀的表示,可以使用phpartisantestArtisan命令運行測試。

10、vendor目錄

vendor目錄包含Composer依賴項。

二、App目錄

應(yīng)用程序的大部分內(nèi)容都位于app目錄中。默認(rèn)情況下,此目錄在App命名空間下,并通過Composer使用PSR-4自動加載標(biāo)準(zhǔn)自動加載。

默認(rèn)情況下,app目錄包含Http、Models和Providers目錄。然而,隨著時間的推移,當(dāng)使用makeArtisan命令生成類時,app目錄內(nèi)將生成各種其他目錄。例如,直到執(zhí)行make:commandArtisan命令生成命令類時,app/Console目錄才會存在。

Console和Http目錄在下面的各自部分中進(jìn)一步解釋,但可以將Console和Http目錄視為提供進(jìn)入應(yīng)用程序核心的API。HTTP協(xié)議和CLI都是與應(yīng)用程序交互的機制,但實際上不包含應(yīng)用程序邏輯。換句話說,它們是向應(yīng)用程序發(fā)出命令的兩種方式。Console目錄包含所有的Artisan命令,而Http目錄包含控制器、中間件和請求。

>`app`目錄中的許多類都可以通過Artisan命令生成。要查看可用命令,請在終端中運行`phpartisanlistmake`命令。

1、Broadcasting目錄

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

2、Console目錄

Console目錄包含應(yīng)用程序的所有自定義Artisan命令。這些命令可以使用make:command命令生成。

3、Events目錄

默認(rèn)情況下,這個目錄不存在,但當(dāng)你使用event:generate和make:eventArtisan命令時,它將為你創(chuàng)建。Events目錄包含事件類。事件可用于提醒應(yīng)用程序的其他部分某個給定動作已經(jīng)發(fā)生,提供了極大的靈活性和解耦。

4、Exceptions目錄

Exceptions目錄包含應(yīng)用程序的所有自定義異常。這些異??梢允褂胢ake:exception命令生成。

5、Http目錄

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

6、Jobs目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行make:jobArtisan命令,它將為創(chuàng)建。Jobs目錄包含應(yīng)用程序的可隊列化作業(yè)。作業(yè)可以由應(yīng)用程序排隊,或在當(dāng)前請求生命周期內(nèi)同步運行。在當(dāng)前請求期間同步運行的作業(yè)有時被稱為“命令”,因為它們是命令模式的實現(xiàn)。

7、Listeners目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行event:generate或make:listenerArtisan命令,它將為創(chuàng)建。Listeners目錄包含處理事件的類。事件監(jiān)聽器接收事件實例并對事件觸發(fā)時執(zhí)行邏輯。例如,UserRegistered事件可能由SendWelcomeEmail監(jiān)聽器處理。

8、Mail目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行make:mailArtisan命令,它將為創(chuàng)建。Mail目錄包含由應(yīng)用程序發(fā)送的所有代表電子郵件的類。郵件對象允許將構(gòu)建電子郵件的所有邏輯封裝在一個簡單的類中,該類可以使用Mail::send方法發(fā)送。

9、Models目錄

Models目錄包含所有的Eloquent模型類。Laravel提供的EloquentORM提供了一個美觀、簡單的ActiveRecord實現(xiàn),用于處理數(shù)據(jù)庫。每個數(shù)據(jù)庫表都有一個對應(yīng)的“模型”,用于與該表交互。模型允許查詢表中的數(shù)據(jù),以及向表中插入新記錄。

10、Notifications目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行make:notificationArtisan命令,它將為創(chuàng)建。Notifications目錄包含應(yīng)用程序發(fā)送的所有“事務(wù)性”通知,例如關(guān)于應(yīng)用程序內(nèi)發(fā)生的事件的簡單通知。Laravel的通知功能抽象了通過多種驅(qū)動程序(如電子郵件、Slack、SMS或存儲在數(shù)據(jù)庫中)發(fā)送通知的功能。

11、Policies目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行make:policyArtisan命令,它將為創(chuàng)建。Policies目錄包含應(yīng)用程序的授權(quán)策略類。策略用于確定用戶是否可以對資源執(zhí)行給定操作。

12、Providers目錄

Providers目錄包含應(yīng)用程序的所有服務(wù)提供者。服務(wù)提供者通過在服務(wù)容器中綁定服務(wù)、注冊事件或執(zhí)行任何其他任務(wù)來為接收請求的應(yīng)用程序做準(zhǔn)備。

在新的Laravel應(yīng)用程序中,此目錄將已經(jīng)包含AppServiceProvider。可以根據(jù)需要向此目錄添加自己的提供者。

13、Rules目錄

默認(rèn)情況下,這個目錄不存在,但如果執(zhí)行make:ruleArtisan命令,它將為創(chuàng)建。Rules目錄包含應(yīng)用程序的自定義驗證規(guī)則對象。

  • 廣告合作

  • QQ群號:4114653

溫馨提示:
1、本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享網(wǎng)絡(luò)內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。郵箱:2942802716#qq.com(#改為@)。 2、本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)裁,轉(zhuǎn)載請注明出處“站長百科”和原文地址。
Laravel
上一篇: Laravel安裝
Pinecone向量數(shù)據(jù)庫
下一篇: Pinecone簡介