亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    composer.json文件詳解

    在當(dāng)前主流的PHP框架中我們都會發(fā)現(xiàn)一個名為composer.json的文件,在下載的composer包中就可以看到composer.json文件,下面由composer使用教程欄目為大家介紹composer.json文件的作用、屬性及各個屬性的作用。

    composer.json文件詳解

    作用:

    composer.json文件定義了您當(dāng)前項(xiàng)目的依賴項(xiàng),以及依賴項(xiàng)的一些相關(guān)信息

    常見屬性說明:

    1:name

    表示包的名稱,由作者名稱和項(xiàng)目名稱組成,使用 / 分割

    例如:

    yiisoft/yii2-app-basic

    包名稱可以包含任何字符,包括空格,并且不區(qū)分大小寫 ( yiisoft/yii2-app-basic 和 Yiisoft/Yii2-app-basic 會被認(rèn)為是同一個包)。為了簡化安裝,建議定義一個不包含非字母數(shù)字字符或空格的短名稱

    name這個屬性是composer.json文件的必要屬性

    2:description

    表示包的簡短描述,通常這是一行介紹就行

    description 這個屬性是composer.json文件的必要屬性

    3:version

    表示包的版本

    版本的格式必須遵循 X.Y.Z 或 vX.Y.Z,可選后綴 -dev, -patch ( -p ), -alpha ( -a ), -beta ( -b ) 或 -RC, patch, alpha , beta 和 RC 后綴也可以跟一個數(shù)字

    例如:

    1.0.0

    1.0.0-dev

    version這個屬性是composer.json 文件的非必須屬性,一般可以省略

    4:type

    表示包的類型,默認(rèn)為庫 library

    Composer 原生支持以下4種類型:

    library: 默認(rèn)類型,它只需要將文件復(fù)制到 vendor 目錄。

    project: 當(dāng)前包是一個項(xiàng)目,而不是一個庫。例如Yii框架中的composer.json文件的type值九尾project

    metapackage: 包含需求并將觸發(fā)其安裝的空包,但不包含文件,并且不會向系統(tǒng)寫入任何內(nèi)容。因此這種安裝類型并不需要一個 dist 或 source。

    composer-plugin: 一個安裝類型為 composer-plugin 的包,它有一個自定義安裝類型,可以為其它包提供一個 installler

    我們也可以定義一個自定義類型

    type這個屬性是composer.json文件的非必須屬性

    5:keywords

    表示一組用于搜索與篩選的與包相關(guān)的關(guān)鍵字

    keywords這個屬性是composer.json文件的非必須屬性

    6:homepage

    表示項(xiàng)目網(wǎng)站的 URL 地址

    homepage這個屬性是composer.json文件的非必須屬性

    7:readme

    表示README 文檔的絕對路徑

    readme這個屬性是composer.json文件的非必須屬性

    8:time

    表示包的版本發(fā)布時間

    必須是 YYYY-MM-DD 或者 YYYY-MM-DD HH:MM:SS 格式

    time這個屬性是composer.json文件的非必須屬性

    9:license

    表示包的許可證,可以是一個字符串或者是一個字符串?dāng)?shù)組

    最常見的許可證推薦表示法如下:

    Apache-2.0 BSD-2-Clause BSD-3-Clause BSD-4-Clause GPL-2.0-only / GPL-2.0-or-later GPL-3.0-only / GPL-3.0-or-later LGPL-2.1-only / LGPL-2.1-or-later LGPL-3.0-only / LGPL-3.0-or-later MIT

    你如果想要知道許可證相關(guān)信息可以參考:https://spdx.org/licenses/

    license這個屬性是composer.json文件的非必須屬性,但是建議提供此項(xiàng)信息

    10:authors

    表示包的作者,這是一個對象數(shù)組。

    每一個作者對象可以包含以下屬性:

    name: 作者的名字。通常是真實(shí)姓名。

    email: 作者的郵件地址。

    homepage: 作者個人網(wǎng)站的 URL 地址。

    role: 作者在項(xiàng)目中擔(dān)任的角色(如:開發(fā)者或者譯者)。

    例:

    "authors": [         {             "name": "huaweichenai",             "email": "243681093@qq.com",             "homepage": "https://www.wj0511.com/",             "role": "Developer"         }     ],

    authors這個屬性是composer.json文件的非必須屬性,但是建議提供此項(xiàng)信息

    11:support

    表示獲取對項(xiàng)目支持的信息對象。

    對象信息必須包括以下屬性:

    email: 項(xiàng)目支持 email 地址。

    issues: 跟蹤問題的 URL 地址。

    forum: 論壇 URL 地址。

    wiki: Wiki URL 地址。

    irc: IRC 聊天頻道地址,as irc://server/channel.

    source: 網(wǎng)址瀏覽或下載源。

    docs: 文件的 URL 。

    rss: RSS 源的 URL 。

    例:

    "support": {         "issues": "https://github.com/yiisoft/yii2/issues?state=open",         "forum": "http://www.yiiframework.com/forum/",         "wiki": "http://www.yiiframework.com/wiki/",         "irc": "irc://irc.freenode.net/yii",         "source": "https://github.com/yiisoft/yii2"     },

    support這個屬性是composer.json文件的非必須屬性

    12:require

    表示必須安裝的依賴包列表,這些包必須滿足條件,否則不會安裝

    例:

    "require": {         "yiisoft/yii2": "*"     },

    require這個屬性是composer.json文件的非必須屬性

    13:require-dev

    表示開發(fā)或運(yùn)行測試時的依賴包列表

    require-dev這個屬性是composer.json文件的非必須屬性

    14:autoload

    表示PHP 自動加載的映射

    支持 PSR-4 和 PSR-0 自動加載,class 映射 和 files 引用。

    推薦使用 PSR-4 規(guī)范(添加類時,無需重新生成自動加載映射)

    例:

    "autoload": {         "psr-4": {             "huaweichenai\discern\": "src"         }     }

    表示自動加載當(dāng)前的src目錄

    autoload這個屬性是composer.json文件的非必須屬性

    15:minimum-stability

    這個屬性定義了按穩(wěn)定性過濾包的默認(rèn)值,默認(rèn)為stable。所以如果你依賴dev 包,你應(yīng)該在你的文件中指定。

    所有包都將根據(jù)穩(wěn)定性檢出相應(yīng)的版本,那些低于 minimum-stability 設(shè)置的版本將被自動忽略。

    minimum-stability這個屬性是composer.json文件的非必須屬性

    16:repositories

    表示使用自定義的安裝源

    Composer 默認(rèn)只使用 packagist 的安裝源。通過定義 repositories 你可以從任何其他地方獲取包

    例:

    "repositories": {         "0": {             "type": "composer",             "url": "https://asset-packagist.org"         },         "packagist": {             "type": "composer",             "url": "https://packagist.phpcomposer.com"         }     }

    repositories 這個屬性是composer.json文件的非必須屬性

    20:config

    表示一組配置選項(xiàng)。它僅用于項(xiàng)目

    config屬性向有很多的屬性,了解config下面的相關(guān)屬性,參考:https://laravel-china.org/docs/composer/2018/06-config/2087

    config屬性中有一個常見的屬性

    process-timeout:請求過程超時設(shè)置

    config 這個屬性是composer.json文件的非必須屬性

    21:scripts

    表示Composer 允許再安裝過程的各個部分中執(zhí)行腳本

    script相關(guān)信息參考:https://laravel-china.org/docs/composer/2018/scripts/2095

    例:

    "scripts": {             //當(dāng)項(xiàng)目里有 composer.lock 文件的情況下調(diào)用 install 命令后執(zhí)行         "post-install-cmd": [             "yii\composer\Installer::postInstall"         ],         //當(dāng) create-project  命令被執(zhí)行后執(zhí)行         "post-create-project-cmd": [             "yii\composer\Installer::postCreateProject",             "yii\composer\Installer::postInstall"         ]     },

    scripts 這個屬性是composer.json文件的非必須屬性

    22:extra

    表示scripts 使用的任意擴(kuò)展數(shù)據(jù)

    例:

    "extra": {         "yii\composer\Installer::postCreateProject": {             "setPermission": [                 {                     "runtime": "0777",                     "web/assets": "0777",                     "yii": "0755"                 }             ]         },         "yii\composer\Installer::postInstall": {             "generateCookieValidationKey": [                 "config/web.php"             ]         }     },

    extra這個屬性是composer.json文件的非必須屬性

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號