laravel-Laravel目錄結構

Laravel目錄結構
app目錄
    包含應用程序的核心代碼,你應用中幾乎全部的類都應該放在這裏

Bootstrap目錄
    包含引導框架並配置自動加載的文件,該目錄中還有一個cache目錄,存放着框架生成的用來提高性能的文件,好比路由和服務緩存文件

Config目錄
    包含應用程序的全部的配置文件,

Database目錄
    包含數據填充和遷移文件,你還能夠把它做爲sqlite數據庫存放目錄

Public目錄
    包含了入口文件index.php,它是進入應用程序的全部請求的入口點,此目錄還包含了一些你的資源文件(圖片,js,css)

Resources目錄
    包含了視圖和未編譯的資源文件(less,sass,js),還包含你全部的語言文件

Routes目錄
    包含了應用的全部路由定義,laravel默認的包含了幾個路由文件:web。php,api.php,console.php,channels.php
    web.php
        包含RouteServiceProvider放置在api中間件組的路由,它提供會話狀態,CSRF防禦和cookie加密,若是你的應用不提供無狀態的RESTful風格的api,則全部的路由都應該在web。php中定義
    api.php
        包含RouteServiceprovider放置在api中間件組的路由,它提供頻率限制,這些路由都是無狀態的,因此經過這些路由進入應用請求只在經過令牌進行身份認證,而且不能訪問會話狀態
    console.php
        定義全部基於閉包的控制檯命令的地方,每一個閉包都被綁定到一個命令實例而且容許和命令行IO方法進行簡單的交互,儘管這些文件沒有定義Http路由,但它也將基於控制檯的入口點(路由)定義到應用程序中
    channels.php
        用來註冊你的應用支持的全部支持對全部的事件廣播渠道的地方

Storage目錄
    包含編譯的Blade模版,基於文件的回話和文件緩存,以及框架生成的其餘文件,這個目錄被分爲三個子目錄,app,frameworkm,logs
    app目錄能夠用以來存儲應用生成的任何文件
    framework目錄用來存儲框架生成的文件和緩存
    logs目錄包含應用的日誌文件

Tests目錄
    包含自動化測試文件,laravel已內置了PHPUnit的測試範例,每一個測試類都應該以Test做爲後綴,你可使用phpunit或者php vendor/bin/phpunit命令來運行測試

Vendor目錄
    包含了你的composer依賴包



APP目錄結構
    應用程序的核心代碼位於app目錄,默認,這個目錄位於命名空間App下
    包含各類目錄,console,http Providers等,其中console和http提供進入應用核心的api,http協議和CLI都只是應用交互的機制,實際上並不包括應用邏輯,他們只是兩種嚮應用發出命令的方法,console目錄包含了全部的Artisan命令,http目錄包含了應用的控制器,中間件和請求
    當你經過Artisan提供的make命令來生成類時,會在app中生成各類各樣的目錄,例如,在執行Artisan命令make:job 來生成任務類以前,app/jbos目錄都不會存在
    console目錄
        包含了全部自定義的Artisan命令,這些命令經過make:command來生成,這個目錄還包含了控制器內核,能夠用來註冊你的自定義Artisan命令和你定義的計劃任務的地方
    Events目錄
        默認不存在,他會在你運行Artisan命令 event:generate 或 event:make 時生成,Events目錄存在放了事件類,可使用事件來提醒應用其餘部分發生了挺穩定的操做,爲應用提供了大量的靈活性和解耦
    Exceptions目錄
        包含了應用的異常處理器,也是應用拋出異常的地方,若是想自定義記錄或者渲染異常的方式,你就要修改此目錄下的Handler類
    http目錄
        包含控制器,中間件,表單請求,幾乎全部的進入應用的請求的處理邏輯都在這裏
    jobs目錄
        默認不存在,運行artisan命令 make:job 時生成,這個目錄存放了應用的隊列任務,應用的任務能夠被推送到隊列或者在當前請求的生命週期內同步運行,在當前請求期間同步運行的任務能夠看作是一個命令,由於他們是命令模式
    listeners目錄
        默認不存在,運行artisan命令 event:generate 或 make:listener 時生成,listeners目錄包含了用來處理事件的類,事件監聽器接受事件實例並執行響應該事件被觸發的邏輯,例如 UserRegistered事件可能由SendWelcomeEmail監聽器處理
    Mail目錄
        默認不存在,運行artisan命令 make:mail 時生成,Mail目錄包含應用全部的郵件發送類,郵件對象容許你將構建郵件的邏輯封裝在可使用 Mail:send方法來發送郵件的地方
    Notifications目錄
        默認不存在,運行artisan命令 make:notifications時生成,Notifications目錄包括應用發送的全部通知,好比關於在應用中發送的簡單通知,laravel的通知功能抽象了通知發送,能夠經過各類驅動發送通知,或是存儲在數據庫中
    Plicies目錄
        默認不存在,運行artisan命令 make:policy來建立,Policies目錄包含了應用的受權策略類,策略能夠來決定一個用戶是否有權限去操做指定資源
    Providers目錄
        包含應用的全部服務提供器,服務提供器經過在服務容器中綁定服務,註冊事件,以及執行其餘任務來爲即將到來的請求作準備來啓動應用
    Rules目錄
        默認不存在 運行artisan命令 make:rule 時建立,Rules目錄包含應用自定義驗證的規則對象


php

相關文章
相關標籤/搜索