Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Detaillierte Erläuterung der Datei „composer.json“.

Detaillierte Erläuterung der Datei „composer.json“.

藏色散人
藏色散人nach vorne
2019-08-03 17:11:5712765Durchsuche

Im aktuellen Mainstream-PHP-Framework finden wir eine Datei mit dem Namen „composer.json“. Sie können die Datei „composer.json“ im heruntergeladenen Composer-Paket sehen. Das Folgende ist die Spalte Composer-Nutzung stellt die Funktion, Eigenschaften und Funktionen jeder Eigenschaft der Datei „composer.json“ vor.

Detaillierte Erläuterung der Datei „composer.json“.

Funktion:

Die Datei „composer.json“ definiert die Abhängigkeiten Ihres aktuellen Projekts sowie einige zugehörige Informationen zu den Abhängigkeiten

Allgemeine Attributbeschreibung:

1: Name

stellt den Namen des Pakets dar, der aus dem Namen des Autors und dem Namen des Projekts besteht, getrennt durch / :

yiisoft/ yii2-app-basic

Der Paketname kann beliebige Zeichen, einschließlich Leerzeichen, enthalten und unterscheidet nicht zwischen Groß- und Kleinschreibung (yiisoft/yii2-app-basic und Yiisoft/Yii2-app -basic wird als dasselbe Paket betrachtet). Um die Installation zu vereinfachen, wird empfohlen, einen Kurznamen

Name zu definieren, der keine nicht-alphanumerischen Zeichen oder Leerzeichen enthält. Dieses Attribut ist ein erforderliches Attribut der Composer.json-Datei

2: Beschreibung

Stellt eine kurze Beschreibung des Pakets dar, normalerweise ist dies eine einzeilige Einführung

Beschreibung Dieses Attribut ist ein notwendiges Attribut der Composer.json-Datei

3 : Version

gibt die Version des Pakets an

Das Format der Version muss X.Y.Z oder vX.Y.Z folgen, optionales Suffix -dev, -patch (-p), -alpha (-a ), -beta (-b) oder -RC, Patch, Alpha, Beta und RC-Suffix können auch von einer Zahl gefolgt werden

Zum Beispiel:

1.0.0

1.0.0-dev

Version Dieses Attribut ist die Datei „composer.json“. Nicht wesentliche Attribute, können im Allgemeinen weggelassen werden

4: Typ

gibt den Typ des Pakets an , der Standardwert ist Bibliothek

Composer unterstützt nativ die folgenden 4 Typen:

Bibliothek: Standardtyp, es müssen nur Dateien in das Herstellerverzeichnis kopiert werden.

Projekt: Das aktuelle Paket ist ein Projekt, keine Bibliothek. Beispielsweise lautet der Typwert der Datei „composer.json“ im Yii-Framework project

metapackage: ein leeres Paket, das Anforderungen enthält und seine Installation auslöst, aber keine Dateien enthält und nichts in das schreibt System. Daher ist für diese Art der Installation kein Dist oder Source erforderlich.

Composer-Plugin: Ein Paket mit dem Installationstyp Composer-Plugin. Es verfügt über einen benutzerdefinierten Installationstyp und kann einen Installer für andere Pakete bereitstellen

Wir können auch einen benutzerdefinierten Typ definieren

Das Typattribut ist ein nicht wesentliches Attribut der Datei „composer.json“

5: keywords

stellt eine Reihe paketbezogener Schlüsselwörter dar, die für die Suche und Filterung verwendet werden

Das Schlüsselwortattribut ist ein nicht wesentliches Attribut der Composer.json-Datei.

6: Homepage

stellt die URL-Adresse der Projektwebsite dar.

Das Homepageattribut ist die Datei „composer.json“ Das optionale Attribut

7: readme

stellt den absoluten Pfad des README-Dokuments dar

Das Attribut „readme“ ist das optionale Attribut der Datei „composer.json“.

8: Zeit

gibt die Versionszeit der Veröffentlichung des Pakets an

muss im Format JJJJ-MM-TT oder JJJJ-MM-TT HH:MM:SS vorliegen

Dieses Zeitattribut ist Composer. Optionale Attribute der .json-Datei

9: Lizenz

stellt die Lizenz des Pakets dar, die eine Zeichenfolge oder ein Array von Zeichenfolgen sein kann

Die gebräuchlichste Lizenz. Die empfohlene Notation lautet wie folgt:

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

Wenn Sie die lizenzbezogenen Informationen wissen möchten, können Sie sich an folgende Adresse wenden: https://spdx.org/licenses/

Das Lizenzattribut ist keine Eigentumseigenschaft der Datei „composer.json“. Es wird jedoch empfohlen, diese Informationen anzugeben.

10: Autoren

stellt den Autor dar das Paket, das ein Array von Objekten ist.

Jedes Autorenobjekt kann die folgenden Attribute enthalten:

Name: Der Name des Autors. Normalerweise der richtige Name.

E-Mail: Die E-Mail-Adresse des Autors.

Homepage: URL-Adresse der persönlichen Website des Autors.

Rolle: Die Rolle, die der Autor im Projekt spielt (z. B. Entwickler oder Übersetzer).

Beispiel:

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

Das Attribut „authors“ ist ein nicht wesentliches Attribut der Datei „composer.json“, es wird jedoch empfohlen, diese Informationen anzugeben

11: support

bedeutet Informationsobjekte abrufen, die das Projekt unterstützen.

Objektinformationen müssen die folgenden Attribute enthalten:

E-Mail: Das Projekt unterstützt E-Mail-Adressen.

Probleme: URL-Adresse zur Nachverfolgung von Problemen.

Forum: URL-Adresse des Forums.

Wiki: Wiki-URL-Adresse.

IRC: IRC-Chat-Kanaladresse, als irc://server/channel.

Quelle: URL-Suche oder Download-Quelle.

docs: URL der Datei.

rss: URL des RSS-Feeds.

Beispiel:

"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 Dieses Attribut ist ein nicht wesentliches Attribut der Composer.json-Datei

12: require

bedeutet, dass es erforderlich ist. Liste der installierten abhängigen Pakete muss die Bedingungen erfüllen, sonst werden sie nicht installiert. Beispiel:

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

require Dieses Attribut ist ein nicht wesentliches Attribut von die Datei „composer.json“

13 :require-dev

Zeigt die Liste der abhängigen Pakete beim Entwickeln oder Ausführen von Tests an

Das Attribut „require-dev“ ist ein nicht wesentliches Attribut der Datei „composer.json“

14: Autoload

Stellt die Zuordnung zum automatischen Laden von PHP dar

Unterstützt das automatische Laden von PSR-4 und PSR-0, Klassenzuordnung und Dateireferenzen .

推荐使用 PSR-4 规范(添加类时,无需重新生成自动加载映射)

例:

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

表示自动加载当前的src目录

autoload这个属性是composer.json文件的非必须属性

15:minimum-stability

这个属性定义了按稳定性过滤包的默认值,默认为stable。所以如果你依赖dev 包,你应该在你的文件中指定。

所有包都将根据稳定性检出相应的版本,那些低于 minimum-stability 设置的版本将被自动忽略。

minimum-stability这个属性是composer.json文件的非必须属性

16:repositories 

表示使用自定义的安装源

Composer 默认只使用 packagist 的安装源。通过定义 repositories 你可以从任何其他地方获取包

例:

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

repositories 这个属性是composer.json文件的非必须属性

20:config

表示一组配置选项。它仅用于项目

config属性向有很多的属性,了解config下面的相关属性,参考:https://laravel-china.org/docs/composer/2018/06-config/2087

config属性中有一个常见的属性

process-timeout:请求过程超时设置

config 这个属性是composer.json文件的非必须属性

21:scripts 

表示Composer 允许再安装过程的各个部分中执行脚本

script相关信息参考:https://laravel-china.org/docs/composer/2018/scripts/2095

例:

"scripts": {
            //当项目里有 composer.lock 文件的情况下调用 install 命令后执行
        "post-install-cmd": [
            "yii\\composer\\Installer::postInstall"
        ],
        //当 create-project  命令被执行后执行
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject",
            "yii\\composer\\Installer::postInstall"
        ]
    },

scripts  这个属性是composer.json文件的非必须属性

22:extra

表示scripts 使用的任意扩展数据

例:

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

extra这个属性是composer.json文件的非必须属性

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Datei „composer.json“.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:wj0511. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Wie installiere ich Composer?Nächster Artikel:Wie installiere ich Composer?