Heim Entwicklungswerkzeuge composer Einführung in die Rolle der Datei „composer.lock'.

Einführung in die Rolle der Datei „composer.lock'.

Dec 16, 2019 am 11:37 AM
composer

Die folgende Spalte des ComposerTutorials stellt Ihnen die Funktion der Composer.lock-Datei vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!

Einführung in die Rolle der Datei „composer.lock'.

Grundlegende Verwendung von Composer

wird im verwendet Projekt Composer.json

Um Composer in Ihrem Projekt zu verwenden, benötigen Sie eine Composer.json-Datei. Diese Datei wird hauptsächlich zum Deklarieren der Beziehungen zwischen Paketen und anderen Element-Tags verwendet.

Require-Schlüsselwort

Das erste, was Sie in Composer.json tun müssen, ist die Verwendung des Require-Schlüsselworts. Sie teilen Composer mit, welche Pakete Ihr Projekt benötigt

Der Code lautet wie folgt:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
Nach dem Login kopieren

Wie Sie sehen können, ordnet das Anforderungsobjekt den Namen des Pakets (monolog/monolog) zu und die Version des Pakets ist 1.0.*

Die Benennung des Pakets

Grundsätzlich ist der Name des Pakets der Hauptname/Projektname (Monolog/Monolog). Der Hauptname muss eindeutig sein, aber der Name des Projekts, das unser Paket ist, kann denselben Namen haben, zum Beispiel: igorw/json und seldaek /json

Paketversion

Die Version von Monolog, die wir verwenden müssen, ist 1.0.*, was bedeutet, dass solange Die Version ist der 1.0-Zweig, z. B. 1.0.0, 1.0.2 oder 1.0 .99

Zwei Möglichkeiten der Versionsdefinition:

1. Standardversion: Definieren eine garantierte Versionspaketdatei, wie zum Beispiel: 1.0.2

2. Ein bestimmter Versionsbereich: Verwenden Sie Vergleichssymbole, um den Bereich gültiger Versionen zu definieren. <=, !=

3. Platzhalterzeichen: Sonderzeichen Das passende Symbol *, zum Beispiel 1.0.*, entspricht >=1.0, <1.1-Version reicht aus

4 . Die nächste wichtige Version: Die beste Erklärung des ~-Symbols ist, dass ~1.2 im Vergleich zu >1.2,<2.0 äquivalent ist, aber ~1.2.3 ist äquivalent zu >=1.2.3,<1.3 Version.

Installieren Sie das Paket

Führen Sie es im Projektdateipfad aus

Der Code lautet wie folgt:

$ composer install
Nach dem Login kopieren

Auf diese Weise wird das automatisch heruntergeladen monolog/monolog-Datei an Ihren Anbieter unterhalb des Verzeichnisses.

Das nächste, was erklärt werden muss, ist

composer.lock – Datei sperren

Nach der Installation aller erforderlichen Pakete generiert Composer einen Standard A Die Paketversionsdatei befindet sich in der Datei „composer.lock“. Dadurch werden Versionen aller Pakete gesperrt.

Verwenden Sie Composer.lock (natürlich zusammen mit Composer.json), um die Version Ihres Projekts zu steuern.

Dies ist sehr wichtig, wenn wir es mit dem Installationsbefehl verarbeiten Stellen Sie fest, ob die Datei „composer.lock“ vorhanden ist. Wenn sie vorhanden ist, wird die entsprechende Version heruntergeladen (nicht basierend auf der Konfiguration in „composer.json“), was bedeutet, dass jeder, der das Projekt herunterlädt, dieselbe Version erhält.

Wenn Composer.lock nicht vorhanden ist, liest Composer das erforderliche Paket und die entsprechende Version über Composer.json und erstellt dann die Composer.lock-Datei

Auf diese Weise kann es in Ihrem verwendet werden Nachdem das Paket eine neue Version hat, werden Sie nicht automatisch aktualisiert. Um auf die neue Version zu aktualisieren, verwenden Sie einfach den Update-Befehl. Auf diese Weise können Sie die neueste Version des Pakets erhalten und auch Ihre Composer.lock-Datei aktualisieren.

$ php composer.phar update
或者
$ composer update
Nach dem Login kopieren

Packagist (das sollte Composer heißen, es fühlt sich ein bisschen wie ein Python-Paket an, wenn auch nicht so leistungsstark, haha, mit diesem Standard wird es in Zukunft definitiv für jeden einfach sein, Websites zu entwickeln, und für Sie kann aus den Codes vieler Leute lernen, und es ist bequemer!)

Packagist ist das Hauptlager von Composer. Sie können es sich ansehen. Die Basis des Composer Warehouse ist der Quellcode des Pakets Packagist ist als Tool konzipiert, das von jedem verwendet werden kann. Ein Repository kann verwendet werden, d. h. jedes erforderliche Paket in Ihrer Datei.

Über das automatische Laden

Um Paketdateien bequem zu laden, generiert Composer automatisch eine Datei Vendor/autoload.php, die Sie bequem überall dort verwenden können, wo Sie sie benötigen

require &#39;vendor/autoload.php&#39;;
Nach dem Login kopieren

Das bedeutet, dass Sie Code von Drittanbietern sehr bequem verwenden können. Angenommen, Ihr Projekt muss Monlog verwenden, Sie können es direkt verwenden, sie wurden automatisch geladen!

Der Code lautet wie folgt:

$log = new Monolog\Logger(&#39;name&#39;);
$log->pushHandler(new Monolog\Handler\StreamHandler(&#39;app.log&#39;, Monolog\Logger::WARNING));
$log->addWarning(&#39;Foo&#39;);
Nach dem Login kopieren

Natürlich können Sie auch Ihren eigenen Code in Composer.json laden:

Der Code lautet wie folgt:

{
    "autoload": {
        "psr-0": {"Acme": "src/"}
    }
}
Nach dem Login kopieren

Composer registriert psr-0 als Acme-Namespace

Sie können eine Zuordnung zum Dateiverzeichnis über den Namespace definieren. Das Verzeichnis src ist Ihr Stammverzeichnis und der Anbieter ist das Verzeichnis auf derselben Ebene. Beispielsweise enthält eine Datei: src/Acme/Foo.php die Klasse AcmeFoo .

Nachdem Sie Autoload hinzugefügt haben, müssen Sie eine Neuinstallation durchführen, um die Datei „vendor/autoload.php“ zu generieren.

Wenn wir auf diese Datei verweisen, wird eine Autoloader-Klasse zurückgegeben, sodass Sie den zurückgegebenen Wert eingeben können in eine Variable einfügen und dann weitere Namespaces hinzufügen. Dies ist sehr praktisch, wenn Sie sich in einer Entwicklungsumgebung befinden:

Der Code lautet wie folgt:

$loader = require &#39;vendor/autoload.php&#39;;
$loader->add('Acme\Test', __DIR__);
Nach dem Login kopieren

Die Rolle des Datei „composer.lock“

Der Installationsbefehl liest die Datei „composer.json“ aus dem aktuellen Verzeichnis, verarbeitet die Abhängigkeiten und installiert sie im Herstellerverzeichnis.

Der Code lautet wie folgt:

composer install
Nach dem Login kopieren

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。

为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。

代码如下:

composer update
Nach dem Login kopieren

这将解决项目的所有依赖,并将确切的版本号写入 composer.lock。

如果你只是想更新几个包,你可以像这样分别列出它们:

代码如下:

composer update vendor/package vendor/package2
Nach dem Login kopieren

你还可以使用通配符进行批量更新:

代码如下:

composer update vendor/*
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonEinführung in die Rolle der Datei „composer.lock'.. 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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 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.

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.

Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Was sind die gängigen Methoden zum Konvertieren von Arrays in Objekte in PHP? Apr 28, 2024 pm 10:54 PM

So konvertieren Sie ein PHP-Array in ein Objekt: Verwenden Sie die Klasse stdClass, verwenden Sie die Funktion json_decode(), verwenden Sie eine Bibliothek eines Drittanbieters (z. B. die Klasse ArrayObject, die Bibliothek Hydrator).

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.

Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? Wie verwende ich den Redis-Cache bei der PHP-Array-Paginierung? May 01, 2024 am 10:48 AM

Durch die Verwendung des Redis-Cache kann die Leistung des PHP-Array-Pagings erheblich optimiert werden. Dies kann durch die folgenden Schritte erreicht werden: Installieren Sie den Redis-Client. Stellen Sie eine Verbindung zum Redis-Server her. Erstellen Sie Cache-Daten und speichern Sie jede Datenseite in einem Redis-Hash mit dem Schlüssel „page:{page_number}“. Rufen Sie Daten aus dem Cache ab und vermeiden Sie teure Vorgänge auf großen Arrays.

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.

Wartung und Aktualisierung der PHP-Webservice-Entwicklung und des API-Designs Wartung und Aktualisierung der PHP-Webservice-Entwicklung und des API-Designs May 06, 2024 pm 02:57 PM

Um PHP-Webdienste und APIs zu warten und zu aktualisieren, müssen die folgenden Praktiken implementiert werden: Aktualisieren Sie Abhängigkeiten, um die neuesten Sicherheitspatches sicherzustellen. Verfolgen Sie Codebasisänderungen und arbeiten Sie mithilfe der Versionskontrolle an der Entwicklung zusammen. Automatisierte Tests zur Überprüfung von Updates wirken sich nicht auf die Funktionalität aus. Die kontinuierliche Integration gewährleistet die Codevalidierung durch automatisierte Prozesse. Protokollierung und Überwachung helfen bei der Identifizierung und Lösung von Problemen. Aktualisieren Sie Sicherheitspatches immer, um Schwachstellen zu vermeiden.

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.

See all articles