中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel5.7目錄結構

發布時間:2020-05-26 03:00:09 來源:網絡 閱讀:741 作者:wz669 欄目:web開發

Laravel項目目錄

默認將 Eloquent 的模型直接放置到 app 目錄下,開發者可以自行選擇放置的位置。
對于國內開發者,尤其是 PHP,models 目錄(app/Models)用于存放與數據庫交互的模型類,而業務邏輯應該放到 services 這種目錄之下。

1.App目錄

app 目錄包含了應用的核心代碼,你為應用編寫的代碼絕大多數也會放到這里;
你基于 Composer 做了 PHP 組件化開發的話,這里只有一些入口性的代碼;
(框架的核心代碼在 /vendor/laravel/framework 里面)

2.Config目錄

config 目錄包含了應用所有的配置文件,建議通讀一遍這些配置文件以便熟悉 Laravel 所有默認配置項;

3.Public目錄

public 目錄包含了應用入口文件 index.php 和前端資源文件(圖片、JavaScript、CSS等);
該目錄也是 Apache 或 Nginx 等 Web 服務器所指向的應用根目錄,這樣做的好處是隔離了應用核心文件直接暴露于 Web 根目錄之下

4.Resources目錄

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

5.Routes目錄

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

5.1web.php

文件包含的路由通過 RouteServiceProvider 引入,都被約束在 web 中間件組中,因而支持 Session、CSRF 保護以及 Cookie 加密功能,如果應用無需提供無狀態的、RESTful 風格的 API,那么路由基本上都要定義在 web.php 文件中。

5.2api.php

文件包含的路由通過 RouteServiceProvider 引入,都被約束在 api 中間件組中,因而支持頻率限制功能,這些路由是無狀態的,所以請求通過這些路由進入應用需要通過 token 進行認證并且不能訪問 Session 狀態。

5.3console.php

文件用于定義所有基于閉包的控制臺命令,每個閉包都被綁定到一個控制臺命令并且允許與命令行 IO 方法進行交互,盡管這個文件并不定義 HTTP 路由,但是它定義了基于控制臺的應用入口(路由)。

5.4channels.php

文件用于注冊應用支持的所有事件廣播頻道。

6.Storage目錄

storage 目錄包含了編譯后的 Blade 模板、基于文件的 Session、文件緩存,以及其它由框架生成的文件,該目錄被細分為成 app、framework 和 logs 子目錄;
app 目錄用于存放應用生成的文件,
framework 目錄用于存放框架生成的文件和緩存,
logs 目錄存放的是應用的日志文件。
storage/app/public 目錄用于存儲用戶生成的文件,比如可以被公開訪問的用戶頭像,要達到被 Web 用戶訪問的目的,你還需要在 public (應用根目錄下的 public 目錄)目錄下生成一個軟連接 storage 指向這個目錄。你可以通過 php artisan storage:link 命令生成這個軟鏈接。

7.Database目錄

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

8.Bootstrap目錄

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

9.Tests目錄

tests 目錄包含自動化測試文件,其中默認已經提供了一個開箱即用的PHPUnit 示例;每一個測試類都要以 Test 開頭,你可以通過 phpunit 或 php vendor/bin/phpunit 命令來運行測試。

10.Vendor目錄

vendor 目錄包含了應用所有通過 Composer 加載的依賴。


App目錄

應用的核心代碼位于 app 目錄下,默認情況下,該目錄位于命名空間 App 下, 并且被 Composer 通過 PSR-4 自動載入標準 自動加載。

app 目錄下包含多個子目錄,如 Console、Http、Providers等。
Console 和 Http 目錄提供了進入應用核心的 API,
HTTP 協議和 CLI 是和應用進行交互的兩種機制,但實際上并不包含應用邏輯。換句話說,它們只是兩個向應用發送命令的方式。
Console 目錄包含了所有開發者編寫的 Artisan 命令,
Http 目錄包含了控制器、中間件和請求等。
其他目錄會在你通過 Artisan 命令 make 生成相應類的時候自動生成到 app 目錄下。
例如,app/Jobs 目錄直到你執行 make:job 命令生成任務類時才會出現在 app 目錄下。

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

Broadcasting目錄 make:channel

Broadcasting 目錄包含了應用所需的所有廣播頻道類,這些類通過 make:channel 命令生成。該目錄默認不存在,但是當你通過命令第一次創建頻道類時會自動生成。想要了解更多關于頻道的信息,可以查看事件廣播文檔。

Console目錄 make:command

Console 目錄包含應用所有自定義的 Artisan 命令,這些命令類可以使用 make:command 命令生成。該目錄下還有 Console/Kernel 類,在這里可以注冊自定義的 Artisan 命令以及定義調度任務。

Events目錄 event:generate 和 make:event

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

Exceptions目錄

Exceptions 目錄包含應用的異常處理器,同時還是處理應用拋出的任何異常的好地方。如果你想要自定義異常如何記錄或渲染,需要編輯該目錄下的 Handler 類。

Http目錄

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

Jobs目錄 make:job

該目錄默認不存在,可以通過執行 make:job 命令生成,Jobs 目錄用于存放隊列任務,應用中的任務可以被推送到隊列,也可以在當前請求生命周期內同步執行。同步執行的任務有時也被看作命令,因為它們實現了命令模式。

Listeners目錄 event:generate 和 make:listener

這個目錄默認不存在,可以通過執行 event:generate 和 make:listener 命令創建。Listeners 目錄包含處理事件的類(事件監聽器),事件監聽器接收一個事件并提供對該事件發生后的響應邏輯,例如,UserRegistered 事件可以被 SendWelcomeEmail 監聽器處理。

Mail目錄 make:mail

這個目錄默認不存在,但是可以通過執行 make:mail 命令生成,Mail 目錄包含應用所有郵件相關類,郵件對象允許你在一個地方封裝構建郵件所需的所有業務邏輯,然后使用 Mail::send 方法發送郵件。

Notifications目錄 make:notification

這個目錄默認不存在,你可以通過執行 make:notification 命令連帶創建, Notifications 目錄包含應用發送的所有通知,比如事件發生通知。Laravel 的通知功能將通知發送和通知驅動解耦,你可以通過郵件,也可以通過Slack、短信或者數據庫發送通知。

Policies目錄 make:policy

這個目錄默認不存在,你可以通過執行 make:policy 命令生成策略類來創建, Policies 目錄包含了應用所有的授權策略類,策略用于判斷某個用戶是否有權限去訪問指定資源。更多詳情,請查看授權文檔。

Providers目錄

Providers 目錄包含應用的所有服務提供者。服務提供者在應用啟動過程中綁定服務到容器、注冊事件以及執行其他任務為即將到來的請求處理做好準備工作。
在新安裝的 Laravel 應用中,該目錄已經包含了一些服務提供者,你可以按需添加自己的服務提供者到該目錄。

Rules目錄 make:rule

該目錄默認不存在,但是會伴隨你執行 Artisan 命令 make:rule 自動生成。Rules 目錄包含應用的自定義驗證規則對象,這些規則用于在單個對象中封裝復雜的驗證邏輯。

php artisan list make

Available commands for the "make" namespace:
make:auth Scaffold basic login and registration views and routes
make:channel Create a new channel class
make:command Create a new Artisan command
make:controller Create a new controller class
make:event Create a new event class
make:exception Create a new custom exception class
make:factory Create a new model factory
make:job Create a new job class
make:listener Create a new event listener class
make:mail Create a new email class
make:middleware Create a new middleware class
make:migration Create a new migration file
make:model Create a new Eloquent model class
make:notification Create a new notification class
make:observer Create a new observer class
make:policy Create a new policy class
make:provider Create a new service provider class
make:request Create a new form request class
make:resource Create a new resource
make:rule Create a new validation rule
make:seeder Create a new seeder class
make:test Create a new test class

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乌海市| 东山县| 宿州市| 青龙| 汽车| 东台市| 石林| 华坪县| 海城市| 永顺县| 团风县| 满洲里市| 白玉县| 怀宁县| 岳普湖县| 崇礼县| 利辛县| 临夏市| 象山县| 民丰县| 麻阳| 大洼县| 沁阳市| 竹溪县| 福贡县| 南华县| 皮山县| 太原市| 霸州市| 东阳市| 大港区| 轮台县| 上林县| 阿荣旗| 天柱县| 濉溪县| 报价| 保康县| 营口市| 马山县| 堆龙德庆县|