Heim Entwicklungswerkzeuge composer Detaillierte Erläuterung der Datei „composer.json'.

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

Aug 03, 2019 pm 05:11 PM
composer json

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
Nach dem Login kopieren

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"
        }
    ],
Nach dem Login kopieren

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"
    },
Nach dem Login kopieren

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": "*"
    },
Nach dem Login kopieren

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"
        }
    }
Nach dem Login kopieren

表示自动加载当前的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"
        }
    }
Nach dem Login kopieren

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"
        ]
    },
Nach dem Login kopieren

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"
            ]
        }
    },
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Erweiterte Funktionen von Composer: Aliase, Skripte und Konfliktlösung Jun 03, 2024 pm 12:37 PM

Composer bietet erweiterte Funktionen, darunter: 1. Aliase: Definieren Sie praktische Namen für Pakete zur wiederholten Bezugnahme. 2. Skripte: Führen Sie benutzerdefinierte Befehle aus, wenn Sie Pakete installieren/aktualisieren, die zum Erstellen von Datenbanktabellen oder zum Kompilieren von Ressourcen verwendet werden , Zufriedenheitsbeschränkungen und Paketaliase lösen die unterschiedlichen Anforderungen mehrerer Pakete für dieselbe Abhängigkeitsversion auf, um Installationskonflikte zu vermeiden.

Tipps zur Leistungsoptimierung für die Konvertierung von PHP-Arrays in JSON Tipps zur Leistungsoptimierung für die Konvertierung von PHP-Arrays in JSON May 04, 2024 pm 06:15 PM

Zu den Leistungsoptimierungsmethoden für die Konvertierung von PHP-Arrays in JSON gehören: Verwendung von JSON-Erweiterungen und der Funktion json_encode(); Verwendung von Puffern zur Verbesserung der Leistung der Schleifencodierung; JSON-Codierungsbibliothek.

Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung Agile Entwicklung und Betrieb der PHP-Microservice-Containerisierung May 08, 2024 pm 02:21 PM

Antwort: PHP-Microservices werden mit HelmCharts für eine agile Entwicklung bereitgestellt und mit DockerContainer für Isolation und Skalierbarkeit in Containern verpackt. Detaillierte Beschreibung: Verwenden Sie HelmCharts, um PHP-Microservices automatisch bereitzustellen, um eine agile Entwicklung zu erreichen. Docker-Images ermöglichen eine schnelle Iteration und Versionskontrolle von Microservices. Der DockerContainer-Standard isoliert Microservices und Kubernetes verwaltet die Verfügbarkeit und Skalierbarkeit der Container. Verwenden Sie Prometheus und Grafana, um die Leistung und den Zustand von Microservices zu überwachen und Alarme und automatische Reparaturmechanismen zu erstellen.

Wie steuern Anmerkungen in der Jackson-Bibliothek die JSON-Serialisierung und -Deserialisierung? Wie steuern Anmerkungen in der Jackson-Bibliothek die JSON-Serialisierung und -Deserialisierung? May 06, 2024 pm 10:09 PM

Anmerkungen in der Jackson-Bibliothek steuern die JSON-Serialisierung und -Deserialisierung: Serialisierung: @JsonIgnore: Ignorieren Sie die Eigenschaft @JsonProperty: Geben Sie den Namen an @JsonGetter: Verwenden Sie die get-Methode @JsonSetter: Verwenden Sie die set-Methode Deserialisierung: @JsonIgnoreProperties: Ignorieren Sie die Eigenschaft @ JsonProperty: Geben Sie den Namen @JsonCreator an: Verwenden Sie den Konstruktor @JsonDeserialize: Benutzerdefinierte Logik

PHP-Code-Versionskontrolle und Zusammenarbeit PHP-Code-Versionskontrolle und Zusammenarbeit May 07, 2024 am 08:54 AM

PHP-Code-Versionskontrolle: Es gibt zwei Versionskontrollsysteme (VCS), die üblicherweise in der PHP-Entwicklung verwendet werden: Git: verteiltes VCS, bei dem Entwickler Kopien der Codebasis lokal speichern, um die Zusammenarbeit und Offline-Arbeit zu erleichtern. Subversion: Zentralisiertes VCS, die einzige Kopie der Codebasis wird auf einem zentralen Server gespeichert und bietet so mehr Kontrolle. VCS hilft Teams, Änderungen zu verfolgen, zusammenzuarbeiten und auf frühere Versionen zurückzusetzen.

Die Rolle von PHP CI/CD in DevOps-Projekten Die Rolle von PHP CI/CD in DevOps-Projekten May 08, 2024 pm 09:09 PM

PHPCI/CD ist eine Schlüsselpraxis in DevOps-Projekten, die die Erstellungs-, Test- und Bereitstellungsprozesse automatisiert und dadurch die Entwicklungseffizienz und Softwarequalität verbessert. Eine typische PHPCI/CD-Pipeline besteht aus den folgenden Phasen: 1) Kontinuierliche Integration: Immer wenn sich der Code ändert, wird der Code automatisch erstellt und getestet. 2) Kontinuierliche Bereitstellung: Beschleunigen Sie die Bereitstellung, indem Sie getesteten und integrierten Code automatisch in der Produktionsumgebung bereitstellen. Durch die Implementierung der PHPCI/CD-Pipeline können Sie die Entwicklungseffizienz steigern, die Softwarequalität verbessern, die Markteinführungszeit verkürzen und die Zuverlässigkeit verbessern.

Visualisierungstechnologie der PHP-Datenstruktur Visualisierungstechnologie der PHP-Datenstruktur May 07, 2024 pm 06:06 PM

Es gibt drei Haupttechnologien zur Visualisierung von Datenstrukturen in PHP: Graphviz: ein Open-Source-Tool, das grafische Darstellungen wie Diagramme, gerichtete azyklische Diagramme und Entscheidungsbäume erstellen kann. D3.js: JavaScript-Bibliothek zum Erstellen interaktiver, datengesteuerter Visualisierungen, zum Generieren von HTML und Daten aus PHP und zum anschließenden Visualisieren auf der Clientseite mithilfe von D3.js. ASCIIFlow: Eine Bibliothek zur Erstellung textueller Darstellungen von Datenflussdiagrammen, geeignet zur Visualisierung von Prozessen und Algorithmen.

Wie verwende ich PHP CI/CD für eine schnelle Iteration? Wie verwende ich PHP CI/CD für eine schnelle Iteration? May 08, 2024 pm 10:15 PM

Antwort: Verwenden Sie PHPCI/CD, um eine schnelle Iteration zu erreichen, einschließlich der Einrichtung von CI/CD-Pipelines sowie automatisierten Test- und Bereitstellungsprozessen. Richten Sie eine CI/CD-Pipeline ein: Wählen Sie ein CI/CD-Tool aus, konfigurieren Sie das Code-Repository und definieren Sie die Build-Pipeline. Automatisierte Tests: Schreiben Sie Unit- und Integrationstests und verwenden Sie Test-Frameworks, um das Testen zu vereinfachen. Praktischer Fall: Verwendung von TravisCI: Installieren Sie TravisCI, definieren Sie die Pipeline, aktivieren Sie die Pipeline und sehen Sie sich die Ergebnisse an. Implementieren Sie Continuous Delivery: Wählen Sie Bereitstellungstools aus, definieren Sie Bereitstellungspipelines und automatisieren Sie die Bereitstellung. Vorteile: Verbessern Sie die Entwicklungseffizienz, reduzieren Sie Fehler und verkürzen Sie die Lieferzeit.

See all articles