Bevor Sie den Unterschied zwischen require und require_dev verstehen, müssen Sie zunächst verstehen, was require und require_dev sind.
require: Dies sind die notwendigen Pakete, um den Code auszuführen. Es definiert die tatsächlichen Abhängigkeiten sowie Paketversionen.
require_dev: Es definiert die für das Entwicklungsprojekt erforderlichen Pakete, nicht die in der Produktionsumgebung erforderlichen Pakete.
Hinweis: require und require_dev sind wichtige Parameter, die in Composer.json verfügbar sind.
Was ist Composer?
Composer ist ein Abhängigkeits-/Parametermanager in PHP. Es kann zur Installationsverfolgung und Aktualisierung von Projektabhängigkeiten verwendet werden. Composer übernimmt auch das automatische Laden von Abhängigkeiten, und Anwendungen, die darauf angewiesen sind, können Abhängigkeiten problemlos in Ihrem Projekt verwenden, ohne sich darum kümmern zu müssen, sie am Anfang einer bestimmten Datei einzufügen. Die Abhängigkeiten eines Projekts werden in der Datei „composer.json“ aufgeführt, die sich normalerweise im Stammverzeichnis des Projekts befindet.
Diese Datei enthält Informationen zu den Paketversionen, die für Produktion und Entwicklung erforderlich sind. Diese Datei kann manuell mit einem beliebigen Texteditor oder automatisch über die Befehlszeile wie „composer require“ oder „composer require_dev“ bearbeitet werden.
Um Composer in Ihrem Projekt verwenden zu können, müssen Sie zunächst die Datei „composer.json“ erstellen. Es kann entweder manuell erstellt werden oder einfach Composer Init ausführen. Nachdem Composer Init im Terminal ausgeführt wurde, werden einige grundlegende Informationen über das Projekt abgefragt, z. B. Paketname, Beschreibung (optional), Autor und Quelle sowie andere Informationen wie Mindeststabilität, Lizenz und erforderliche Pakete.
Der Require-Schlüssel in Composer.json gibt den Kombinator an, der das von Require abhängige Projekt enthält, das ein Objekt erfordert, das den Paketnamen
Beispiel:
{ "require": { // 包的名称 "composer/composer:" "1.2.*" } }
in Im obigen Beispiel gibt „composer/composer“ den Herstellernamen und den Projektnamen getrennt durch einen Schrägstrich ('/') an, und „1.2.*“ gibt den Versionsnamen an.
Um die Abhängigkeiten zu installieren, müssen Sie den Composer-Installationsbefehl ausführen. Anschließend wird das definierte Paket mit den bereitgestellten Versionseinschränkungen gefunden und in das Herstellerverzeichnis heruntergeladen. Es platziert Code von Drittanbietern in einem Verzeichnis namens „vendor“. Der Installationsbefehl erstellt auch eine Composer.lock-Datei.
Unterschied zwischen require und require_dev:
require:
Es definiert die tatsächlichen Abhängigkeiten zusammen mit der Paketversion.
require listet die Pakete auf, die für dieses Paket erforderlich sind.
Pakete werden nur installiert, wenn diese Anforderungen erfüllt sind.
require_dev:
Es definiert die Pakete, die für die Entwicklung des Projekts erforderlich sind.
require_dev listet die Pakete auf, die zum Entwickeln dieses Pakets oder zum Ausführen von Tests usw. erforderlich sind.
Die Entwicklungsanforderungen für das Root-Paket werden standardmäßig installiert. Sowohl die Installation als auch das Update unterstützen die Option „-no-dev“, um zu verhindern, dass Entwicklungsabhängigkeiten installiert werden.
Verwandte Empfehlungen: „PHP-Tutorial“http://www.php.cn/course/list/29.html
Das obige ist der detaillierte Inhalt vonUnterschied zwischen require-dev und require in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!