Detaillierte Erläuterung der Datei „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.
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

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.

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

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.

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.

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.
