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.
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!