久久99国产精品片久久99蜜桃_久久精品99国产精品蜜桃_久久久亚洲AV成人网站_欧美精品色婷婷五月综合_亚洲精品乱码久久久久久蜜桃图片_夜夜高潮夜夜爽国产伦精品_69无人区乱码一二三四区别_日产一码二码三码区别_大香区一二三四区2021_国产精品爱久久久久久久,日本高清视频成人网www,国产亚洲一二三区精品免费视频观看,久久久精品国产SM调教网站

推廣 熱搜: 后臺(tái)  帝國(guó)cms  位置  網(wǎng)站  Wordpress教程  帝國(guó)cms建站  內(nèi)容  DESTOON  郵箱  destoon7.0 

Laravel框架目錄結(jié)構(gòu)詳解

   日期:2021-01-06     瀏覽:277    違規(guī)舉報(bào)
 
騰訊云服務(wù)器優(yōu)惠

許多初學(xué)者可能都會(huì)困惑 Laravel 為什么沒有提供 models 目錄,官方解釋說是因?yàn)椴煌藢?duì) models 這個(gè)詞的含義看法不同,容易造成歧義,,有些開發(fā)者認(rèn)為應(yīng)用的模型指的是業(yè)務(wù)邏輯,,另外一些人則認(rèn)為模型指的是與關(guān)聯(lián)數(shù)據(jù)庫(kù)的交互。正是因?yàn)檫@個(gè)原因,,官方默認(rèn)將 Eloquent 的模型直接放置到 app 目錄下,,讓開發(fā)者自行選擇模型放置的位置。

這是 Laravel 框架作者的想法,,不過對(duì)于國(guó)內(nèi)開發(fā)者,,尤其是 PHP 開發(fā)者來(lái)說,models 目錄用于存放與數(shù)據(jù)庫(kù)交互的模型類應(yīng)該沒有什么異議,,而業(yè)務(wù)邏輯應(yīng)該放到 services 這種目錄之下,。所以推薦大家在生成模型類的時(shí)候指定生成到 app/Models 目錄下:

php artisan make:model Models/Test 

根目錄

App目錄

app 目錄包含了應(yīng)用的核心代碼,注意不是框架的核心代碼,,框架的核心代碼在 /vendor/laravel/framework 里面,,此外你為應(yīng)用編寫的代碼絕大多數(shù)也會(huì)放到這里,當(dāng)然,,如果你基于 Composer 做了 PHP 組件化開發(fā)的話,,這里面存放的恐怕也只有一些入口性的代碼了;

Bootstrap目錄

bootstrap 目錄包含了少許文件,,用于框架的啟動(dòng)和自動(dòng)載入配置,,還有一個(gè) cache 文件夾,里面包含了框架為提升性能所生成的文件,,如路由和服務(wù)緩存文件,;

Config目錄

config 目錄包含了應(yīng)用所有的配置文件,建議通讀一遍這些配置文件以便熟悉 Laravel 所有默認(rèn)配置項(xiàng),;

Database目錄

database 目錄包含了數(shù)據(jù)庫(kù)遷移文件及填充文件,,如果有使用 SQLite 的話,你還可以將其作為 SQLite 數(shù)據(jù)庫(kù)存放目錄,;

Public目錄

public 目錄包含了應(yīng)用入口文件 index.php 和前端資源文件(圖片,、Javascript、CSS等),,該目錄也是 Apache 或 Nginx 等 Web 服務(wù)器所指向的應(yīng)用根目錄,,這樣做的好處是隔離了應(yīng)用核心文件直接暴露于 Web 根目錄之下,如果權(quán)限系統(tǒng)沒做好或服務(wù)器配置有漏洞的話,,很可能導(dǎo)致應(yīng)用敏感文件被黑客竊取,,進(jìn)而對(duì)網(wǎng)站安全造成威脅;

Resources目錄

resources 目錄包含了應(yīng)用視圖文件和未編譯的原生前端資源文件(LESS,、SASS,、Javascript),以及本地化語(yǔ)言文件;

Routes目錄

routes 目錄包含了應(yīng)用定義的所有路由,。Laravel 默認(rèn)提供了四個(gè)路由文件用于給不同的入口使用:web.php,、api.php,、 console.php 和 channels.php,。

web.php 文件包含的路由都位于 RouteServiceProvider 所定義的 web 中間件組約束之內(nèi),因而支持 Session,、CSRF 保護(hù)以及 cookie 加密功能,,如果應(yīng)用無(wú)需提供無(wú)狀態(tài)的、RESTful 風(fēng)格的 API,,那么路由基本上都要定義在 web.php 文件中,。

api.php 文件包含的路由位于 api 中間件組約束之內(nèi),支持頻率限制功能,,這些路由是無(wú)狀態(tài)的,,所以請(qǐng)求通過這些路由進(jìn)入應(yīng)用需要通過 token 進(jìn)行認(rèn)證并且不能訪問 Session 狀態(tài)。

console.php 文件用于定義所有基于閉包的控制臺(tái)命令,,每個(gè)閉包都被綁定到一個(gè)控制臺(tái)命令并且允許與命令行 IO 方法進(jìn)行交互,,盡管這個(gè)文件并不定義 HTTP 路由,但是它定義了基于控制臺(tái)的應(yīng)用入口(路由),。

channels 文件用于注冊(cè)應(yīng)用支持的所有事件廣播頻道,。

Storage目錄

storage 目錄包含了編譯后的 Blade 模板、基于文件的 Session,、文件緩存,,以及其它由框架生成的文件,該目錄被細(xì)分為成 app,、framework 和 logs 子目錄,,app 目錄用于存放應(yīng)用生成的文件,framework 目錄用于存放框架生成的文件和緩存,,最后,,logs 目錄存放的是應(yīng)用的日志文件。

storage/app/public 目錄用于存儲(chǔ)用戶生成的文件,,比如可以被公開訪問的用戶頭像,,要達(dá)到被 Web 用戶訪問的目的,你還需要在 public (應(yīng)用根目錄下的 public 目錄)目錄下生成一個(gè)軟連接 storage 指向這個(gè)目錄,。你可以通過 php artisan storage:link 命令生成這個(gè)軟鏈接,。

Tests目錄

tests 目錄包含自動(dòng)化測(cè)試文件,其中默認(rèn)已經(jīng)提供了一個(gè)開箱即用的PHPUnit 示例,;每一個(gè)測(cè)試類都要以 Test 開頭,,你可以通過 phpunit 或 php vendor/bin/phpunit 命令來(lái)運(yùn)行測(cè)試。

Vendor目錄

vendor 目錄包含了應(yīng)用所有通過 Composer 加載的依賴。

App目錄

應(yīng)用的核心代碼位于 app 目錄下,,默認(rèn)情況下,該目錄位于命名空間 App 下,, 并且被 Composer 通過 PSR-4 自動(dòng)載入標(biāo)準(zhǔn) 自動(dòng)加載,。

app 目錄下包含多個(gè)子目錄,如 Console,、Http,、Providers等。Console 和 Http 目錄提供了進(jìn)入應(yīng)用核心的 API,,HTTP 協(xié)議和 CLI 是和應(yīng)用進(jìn)行交互的兩種機(jī)制,,但實(shí)際上并不包含應(yīng)用邏輯。換句話說,,它們只是兩個(gè)向應(yīng)用發(fā)送命令的方式,。Console 目錄包含了所有開發(fā)者編寫的 Artisan 命令,Http 目錄包含了控制器,、中間件和請(qǐng)求等,。

其他目錄會(huì)在你通過 Artisan 命令 make 生成相應(yīng)類的時(shí)候自動(dòng)生成到 app 目錄下。例如,,app/Jobs 目錄直到你執(zhí)行 make:job 命令生成任務(wù)類時(shí)才會(huì)出現(xiàn)在 app 目錄下,。

注:app 目錄中的很多類都可以通過 Artisan 命令生成,要查看所有有效的命令,,可以在終端中運(yùn)行 php artisan list make 命令,。

Console目錄

Console 目錄包含應(yīng)用所有自定義的 Artisan 命令,這些命令類可以使用 make:command 命令生成,。該目錄下還有 Console/Kernel 類,,在這里可以注冊(cè)自定義的 Artisan 命令以及定義調(diào)度任務(wù)。

Events目錄

這個(gè)目錄默認(rèn)不存在,,但是可以通過 event:generate 和 make:event 命令創(chuàng)建,。該目錄用于存放事件類。事件類用于告知應(yīng)用其他部分某個(gè)事件發(fā)生情況并提供靈活的,、解耦的處理機(jī)制。

Exceptions目錄

Exceptions 目錄包含應(yīng)用的異常處理器,,同時(shí)還是處理應(yīng)用拋出的任何異常的好地方,。

Http目錄

Http 目錄包含了控制器、中間件以及表單請(qǐng)求等,,幾乎所有通過 Web 進(jìn)入應(yīng)用的請(qǐng)求處理都在這里進(jìn)行,。

Jobs目錄

該目錄默認(rèn)不存在,,可以通過執(zhí)行 make:job 命令生成,,Jobs 目錄用于存放隊(duì)列任務(wù),應(yīng)用中的任務(wù)可以被推送到隊(duì)列,,也可以在當(dāng)前請(qǐng)求生命周期內(nèi)同步執(zhí)行,。同步執(zhí)行的任務(wù)有時(shí)也被看作命令,因?yàn)樗鼈儗?shí)現(xiàn)了命令模式,。

Listeners目錄

這個(gè)目錄默認(rèn)不存在,,可以通過執(zhí)行 event:generate 和 make:listener 命令創(chuàng)建,。Listeners 目錄包含處理事件的類(事件監(jiān)聽器),,事件監(jiān)聽器接收一個(gè)事件并提供對(duì)該事件發(fā)生后的響應(yīng)邏輯,例如,,UserRegistered 事件可以被 SendWelcomeEmail 監(jiān)聽器處理,。

Mail目錄

這個(gè)目錄默認(rèn)不存在,但是可以通過執(zhí)行 make:mail 命令生成,,Mail 目錄包含應(yīng)用所有郵件相關(guān)類,,郵件對(duì)象允許你在一個(gè)地方封裝構(gòu)建郵件所需的所有業(yè)務(wù)邏輯,然后使用 Mail::send 方法發(fā)送郵件,。

Notifications目錄

這個(gè)目錄默認(rèn)不存在,,你可以通過執(zhí)行 make:notification 命令連帶創(chuàng)建, Notifications 目錄包含應(yīng)用發(fā)送的所有通知,,比如事件發(fā)生通知,。Laravel 的通知功能將通知發(fā)送和通知驅(qū)動(dòng)解耦,你可以通過郵件,,也可以通過Slack,、短信或者數(shù)據(jù)庫(kù)發(fā)送通知。

Policies目錄

這個(gè)目錄默認(rèn)不存在,,你可以通過執(zhí)行 make:policy 命令生成策略類來(lái)創(chuàng)建,, Policies 目錄包含了應(yīng)用所有的授權(quán)策略類,策略用于判斷某個(gè)用戶是否有權(quán)限去訪問指定資源,。更多詳情,,請(qǐng)查看授權(quán)文檔。

Providers目錄

Providers 目錄包含應(yīng)用的所有服務(wù)提供者,。服務(wù)提供者在應(yīng)用啟動(dòng)過程中綁定服務(wù)到容器,、注冊(cè)事件以及執(zhí)行其他任務(wù)為即將到來(lái)的請(qǐng)求處理做好準(zhǔn)備工作。

在新安裝的 Laravel 應(yīng)用中,,該目錄已經(jīng)包含了一些服務(wù)提供者,,你可以按需添加自己的服務(wù)提供者到該目錄,。

Rules目錄

該目錄默認(rèn)不存在,但是會(huì)伴隨你執(zhí)行 Artisan 命令 make:rule 自動(dòng)生成,。Rules 目錄包含應(yīng)用的自定義驗(yàn)證規(guī)則對(duì)象,,這些規(guī)則用于在單個(gè)對(duì)象中封裝復(fù)雜的驗(yàn)證邏輯,想要了解更多的話,,請(qǐng)參考驗(yàn)證文檔,。

免責(zé)聲明:
1、本站所收集的部分公開資料來(lái)源于互聯(lián)網(wǎng),,轉(zhuǎn)載的目的在于傳遞更多信息及用于網(wǎng)絡(luò)分享,,并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),也不構(gòu)成任何其他建議,。
2,、本站部分作品內(nèi)容是由網(wǎng)友自主投稿和發(fā)布、編輯整理上傳,,對(duì)此類內(nèi)容本站僅提供交流平臺(tái),,不為其版權(quán)負(fù)責(zé),更不為其觀點(diǎn)承擔(dān)任何責(zé)任,。
3,、因行業(yè)及專業(yè)性有限,故未能核驗(yàn)會(huì)員發(fā)布內(nèi)容的真實(shí)性及有效性,,不為其負(fù)責(zé),,如有虛假或違規(guī)內(nèi)容敬請(qǐng)準(zhǔn)備材料圖片發(fā)郵件到info@n#舉報(bào),本站核實(shí)后積極配合刪除,。
4,、如果您發(fā)現(xiàn)網(wǎng)站上有侵犯您的知識(shí)產(chǎn)權(quán)的作品,請(qǐng)與我們?nèi)〉寐?lián)系,,我們會(huì)及時(shí)處理或刪除,。
 
打賞
 
更多>同類網(wǎng)站技術(shù)
0相關(guān)評(píng)論

推薦圖文
推薦網(wǎng)站技術(shù)
點(diǎn)擊排行
網(wǎng)站首頁(yè)  |  關(guān)于我們  |  聯(lián)系方式  |  使用協(xié)議  |  免責(zé)聲明  |  版權(quán)隱私  |  信息發(fā)布規(guī)則  |  網(wǎng)站地圖  |  排名推廣  |  廣告服務(wù)  |  積分換禮  |  網(wǎng)站留言  |  RSS訂閱  |  違規(guī)舉報(bào)  |  粵ICP備2020081222號(hào)
Powered By DESTOON