Laravel5.2目錄結構及composer.json文件解析

目錄或文件說明

|– app包含Controller、Model、路由等在內的應用目錄,大部分業務將在該目錄下進行

|  |– Console命令行程序目錄

|  |  |– Commands包含了用於命令行執行的類,可在該目錄下自定義類

|  |  |– Kernel.php命令調用內核文件,包含commands變量(命令清單,自定義的命令需加入到這裏)和schedule方法(用於任務調度,即定時任務)

|  |– Events事件目錄

|  |– Exceptions包含了自定義錯誤和異常處理類

|  |– HttpHTTP傳輸層相關的類目錄

|  |  |– Controllers控制器目錄

|  |  |– Middleware中間件目錄

|  |  |– Requests請求類目錄

|  |  |– Kernel.php包含http中間件和路由中間件的內核文件

|  |  |– routes.php強大的路由

|  |– Jobs該目錄下包含隊列的任務類

|  |– Listeners監聽器目錄

|  |– Providers服務提供者目錄

|  |– User.php自帶的模型實例,我們新建的Model默認也存儲在該目錄

|– bootstrap框架啓動載入目錄

|  |– app.php創建框架應用實例

|  |– autoload.php自動加載

|  |– cache存放框架啓動緩存,web服務器需要有該目錄的寫入權限

|– config各種配置文件的目錄

|  |– app.php系統級配置文件

|  |– auth.php用戶身份認證配置文件,指定好table和model就可以很方便地用身份認證功能了

|  |– broadcasting.php事件廣播配置文件

|  |– cache.php緩存配置文件

|  |– compile.php編譯額外文件和類需要的配置文件,一般用戶很少用到

|  |– database.php數據庫配置文件

|  |– filesystems.php文件系統配置文件,這裏可以配置雲存儲參數

|  |– mail.php電子郵件配置文件

|  |– queue.php消息隊列配置文件

|  |– services.php可存放第三方服務的配置信息

|  |– session.php配置session的存儲方式、生命週期等信息

|  |– view.php模板文件配置文件,包含模板目錄和編譯目錄等

|– database數據庫相關目錄

|  |– factories5.1以上版本的新特性,工廠類目錄,也是用於數據填充

|  |  |– ModelFactory.php在該文件可定義不同Model所需填充的數據類型

|  |– migrations存儲數據庫遷移文件

|  |– seeds存放數據填充類的目錄

|     |– DatabaseSeeder.php執行php artisan db:seed命令將會調用該類的run方法。該方法可調用執行該目錄下其他Seeder類,也可調用factories方法生成ModelFactory裏定義的數據模型

|– public網站入口,應當將ip或域名指向該目錄而不是根目錄。可供外部訪問的css、js和圖片等資源皆放置於此

|  |– index.php入口文件

|  |– .htaccessApache服務器用該文件重寫URL

|  |– web.configIIS服務器用該文件重寫URL

|– resources資源文件目錄

|  |– assets可存放包含LESS、SASS、CoffeeScript在內的原始資源文件

|  |– lang本地化文件目錄

|  |– views視圖文件就放在這啦

|– storage存儲目錄。web服務器需要有該目錄及所有子目錄的寫入權限

|  |– app可用於存儲應用程序所需的一些文件

|  |– framework該目錄下包括緩存、sessions和編譯後的視圖文件

|  |– logs日誌目錄

|– tests測試目錄

|– vendor該目錄下包含Laravel源代碼和第三方依賴包

|– .env環境配置文件。config目錄下的配置文件會使用該文件裏面的參數,不同生產環境使用不同的.env文件即可。

|– artisan強大的命令行接口,你可以在app/Console/Commands下編寫自定義命令

|– composer.json存放依賴關係的文件

|– composer.lock鎖文件,存放安裝時依賴包的真實版本

|– gulpfile.jsgulp(一種前端構建工具)配置文件

|– package.jsongulp配置文件

|– phpspec.ymlphpspec(一種PHP測試框架)配置文件

|– phpunit.xmlphpunit(一種PHP測試框架)配置文件

|– server.phpPHP內置的Web服務器將把這個文件作爲入口。以public/index.php爲入口的可以忽略掉該文件


composer.json文件

{

    "name": "laravel/laravel", //項目名稱

    "description": "The Laravel Framework.", //描述

    "keywords": ["framework", "laravel"], //關鍵詞

    "license": "MIT", //許可協議

    "type": "project", //類型

    "require": {

        "php": ">=5.5.9", //PHP版本

        "laravel/framework": "5.2.*" //框架版本

    },

    "require-dev": { //依賴包

        "fzaninotto/faker": "~1.4",

        "mockery/mockery": "0.9.*",

        "phpunit/phpunit": "~4.0",

        "symfony/css-selector": "2.8.*|3.0.*",

        "symfony/dom-crawler": "2.8.*|3.0.*"

    },

    "autoload": { //自動加載

        "classmap": [

            "database"

        ],

        "psr-4": { //一種自動加載的規範

            "App\\": "app/"

        }

    },

    "autoload-dev": { //加載測試

        "classmap": [

            "tests/TestCase.php"

        ]

    },

    "scripts": { //執行腳本

        "post-root-package-install": [

            "php -r \"copy('.env.example', '.env');\""

        ],

        "post-create-project-cmd": [

            "php artisan key:generate"

        ],

        "post-install-cmd": [

            "php artisan clear-compiled",

            "php artisan optimize"

        ],

        "post-update-cmd": [

            "php artisan clear-compiled",

            "php artisan optimize"

        ]

    },

    "config": { //配置項

        "preferred-install": "dist" //優先安裝壓縮版

    },

    "repositories": { //配置composer鏡像

        "packagist": {

            "type": "composer",

            "url": "https://packagist.phpcomposer.com"

        }

    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章