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

溫馨提示×

溫馨提示×

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

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

Composer的示例分析

發布時間:2021-01-27 11:38:31 來源:億速云 閱讀:350 作者:小新 欄目:軟件技術

這篇文章主要介紹Composer的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

composer 解析

composer 配置項

具體的每個配置項細節請參考  Composer 官網

配置列表

ID配置項說明
1name包的名稱,它包括供應商名稱和項目名稱,使用 / 分隔。
2description包描述
3version版本
4type安裝類型
5keywords關鍵字
6homepage項目主頁
7time版本發布時間
8license許可協議
9authors作者
10support支持,獲取項目支持的向相關信息對象。
11require自動加載的包
12require-dev在DEV下自動加載的包
13conflict此列表中的包與當前包的這個版本沖突。它們將不允許同時被安裝
14suggest建議安裝的包,它們增強或能夠與當前包良好的工作。這些只是信息,并顯示在依賴包安裝完成之后,給你的用戶一個建議,他們可以添加更多的包。
15autoload自動加載,分別有四種加載機制 psr-4 psr-0 classmap file
16include-path保留傳統,不建議使用
17target-dir定義當前包安裝的目標文件夾
18minimum-stability安裝包的時候通過穩定性過濾包的默認行為, dev alpha beta RC stable 可選
19prefer-stable安裝包的時候優先使用更穩定的包版本, "prefer-stable": true
20repositories使用自定義的包資源庫。默認情況下 composer 只使用 packagist 作為包的資源庫。通過指定資源庫,你可以從其他地方獲取資源包。
21config配置參數,eg:process-timeout vendor-dir
22scriptsComposer 允許你在安裝過程中的各個階段掛接腳本。
23extra任意的,供 scripts 使用的額外數據。
24bin該屬性用于標注一組應被視為二進制腳本的文件,他們會被軟鏈接到(config 對象中的)bin-dir 屬性所標注的目錄,以供其他依賴包調用。
25archive這些選項在創建包存檔時使用。

開發種配置詳細說明

11. require
標識符含義實例
^安裝的最新版本"barryvdh/laravel-cors": "^0.10.0" 安裝laravel-cors最新版本
~標識安裝的最后一位區間版本"barryvdh/laravel-cors": "~0.10.0", 安裝laravel-cors 0.10.0-0.10.9
12. require-dev
  1. composer install 會安裝require-dev中的包,require中的包

  2. composer install --no-dev 只會安裝require中的包

22. scripts
"scripts": {
    "post-root-package-install": [
        "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
    ],
    "post-create-project-cmd": [
        "@php artisan key:generate"
    ],
    "post-autoload-dump": [
        "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
        "@php artisan package:discover"
    ]
}

scripts 是自定義執行SHELL命令,如上代碼中,執行post-root-package-install 執行復制文件。

15 autoload

PHP 自動加載文件,分別有四種加載機制 psr-4 psr-0 classmap file

修改完 autoload 的內容之后要記得執行composer dump-autoload 來重新生成加載文件

prs-4
  1. 該目錄下的 PHP 文件 采用 PSR-4 自動加載標準

  2. Composer會將該結構下的文件映射關系寫入 autoload_classmap.php

"autoload": {
    "psr-4": {
        "App\\": "app/"
    }

}
prs-0
  1. 該目錄下的 PHP 文件 采用 PSR-0 自動加載標準

  2. Composer會將該結構下的文件映射關系寫入 autoload_namespaces.php

"autoload": {
    "psr-4": {
        "Cx\\": "prs0/"
    }

}
classmap
  1. Composer 加載 lib/ 目錄下的所有文件,放入到 autoload_classmap.php

{
    "classmap":["lib/"]
}
file
  1. Composer 加載 src/test.php 該文件,放入到 autoload_files.php

{
    "files":["src/test.php"]
}

命令篇

詳細命名請參考 Composer 命令行

composer install

先安裝composer.lock 文件中packages中的版本;即使composer.jsoncomposer.lock 中版本不一致

安裝流程圖

Composer的示例分析

composer update

先安裝composer.json的版本,并且更新composer.lockpackages 中的版本

安裝流程圖

Composer的示例分析

composer dump-autoload

CMD說明應用場景
composer dump-autoload打印自動加載索引,就是將 autoload 中的各項加載到本該指定的目錄。開發環境 你更新了 autoload 中的各項,
composer dump-autoload -o轉換 PSR-0/4 autoloading 到 classmap 獲得更快的載入速度適用于生產環境
composer dump-autoload -o --no-dev禁用 autoload-dev 規則適用于生產環境
composer dump-autoload --classmap-authoritative只加載 ClassMap中的文件,必到磁盤文件系統進行任何檢查適用于生產環境

因此生產請使用 composer dump-autoload -o --no-dev --classmap-authoritative

以上是“Composer的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

灵璧县| 高邮市| 石首市| 明星| 临西县| 皮山县| 长丰县| 克拉玛依市| 江口县| 惠水县| 大足县| 博兴县| 云林县| 碌曲县| 思南县| 石嘴山市| 宁陕县| 四平市| 大冶市| 洛浦县| 抚顺县| 和龙市| 洛宁县| 富顺县| 上思县| 隆安县| 罗江县| 贵阳市| 佛山市| 宣汉县| 保康县| 桐梓县| 桃江县| 庆安县| 怀来县| 肥乡县| 台东县| 贡觉县| 佛冈县| 常山县| 黄平县|