Heim  >  Artikel  >  Entwicklungswerkzeuge  >  5 Composer-Tipps, die PHP-Entwickler kennen sollten

5 Composer-Tipps, die PHP-Entwickler kennen sollten

青灯夜游
青灯夜游nach vorne
2019-12-31 18:00:133015Durchsuche

Composer ist eine neue Generation von PHP-Abhängigkeitsmanagement-Tools. In diesem Artikel werden fünf Tipps für die Verwendung von Composer vorgestellt, um Ihre PHP-Entwicklung komfortabler zu gestalten.

5 Composer-Tipps, die PHP-Entwickler kennen sollten

1. Nur eine einzelne Bibliothek aktualisieren

Sie möchten nur eine bestimmte Bibliothek aktualisieren und nicht alle seine Abhängigkeiten, was sehr schwierig ist. Einfach

composer update foo/bar

Darüber hinaus kann dieser Trick auch verwendet werden, um „Probleme mit Warnmeldungen“ zu lösen. Sie müssen Warnmeldungen wie diese gesehen haben:

Warning: The lock file is not up to date with the latest changes in composer.json, you may be getting outdated dependencies, run update to update them.

Was ist schief gelaufen? Keine Panik! Wenn Sie „composer.json“ bearbeiten, sollten Sie so etwas sehen. Wenn Sie beispielsweise Details wie eine Bibliotheksbeschreibung, einen Autor, weitere Parameter oder auch nur ein Leerzeichen hinzufügen oder aktualisieren, ändert sich dadurch die MD5-Summe der Datei. Composer warnt Sie dann, dass der Hash-Wert sich von dem in Composer.lock aufgezeichneten unterscheidet.

Was sollen wir also tun? Der Update-Befehl kann die Sperrdatei aktualisieren, aber wenn er nur einige Beschreibungen hinzufügt, sollte er keine Bibliotheken aktualisieren. In diesem Fall aktualisieren Sie einfach nichts:

$ composer update nothing

Loading composer repositories with package information

Updating dependencies

Nothing to install or update

Writing lock file

Generating autoload files

Auf diese Weise aktualisiert Composer nicht die Bibliothek, sondern Composer.lock. Beachten Sie, dass „nothing“ kein Schlüsselwort im Update-Befehl ist. Es gibt einfach nichts, was dieses Paket verursacht. Wenn Sie foobar eingeben, ist das Ergebnis dasselbe.

Wenn die von Ihnen verwendete Composer-Version neu genug ist, können Sie die Option --lock direkt verwenden:

composer update --lock

2. Installieren Sie die Bibliothek, ohne Composer.json zu bearbeiten

Es könnte für Sie zu mühsam sein, „composer.json“ jedes Mal zu ändern, wenn Sie eine Bibliothek installieren. Dann können Sie den Befehl „require“ direkt verwenden.

composer require "foo/bar:1.0.0"

Diese Methode kann auch verwendet werden, um schnell ein neues Projekt zu öffnen. Der Befehl init verfügt über die Option --require, mit der Composer.json automatisch geschrieben werden kann: (Beachten Sie, dass wir -n verwenden, damit wir die Frage nicht beantworten müssen)

$ composer init --require=foo/bar:1.0.0 -n
$ cat composer.json
{
    "require": {

        "foo/bar": "1.0.0"
    }
}

3 ist einfach

Haben Sie während der Initialisierung den Befehl „create-project“ ausprobiert?

composer create-project doctrine/orm path 2.2.0

Dadurch wird das Repository automatisch geklont und die angegebene Version ausgecheckt. Dieser Befehl ist beim Klonen einer Bibliothek sehr praktisch, da nicht nach dem Original-URI gesucht werden muss.

4. Erwägen Sie das Caching, geben Sie den Dist-Paketen Vorrang

Composer aus dem letzten Jahr archiviert automatisch das von Ihnen heruntergeladene Dist-Paket. Standardmäßig wird das dist-Paket für getaggte Versionen wie „symfony/symfony“: „v2.1.4“ oder Platzhalter oder Versionsbereiche „2.1.*“ oder „>=2.2,<2.3-dev“ verwendet. (wenn Sie „stable“ als Mindeststabilität verwenden).

Das dist-Paket kann auch für Zweige verwendet werden, z. B. mit dev-master können Sie das komprimierte Paket einer bestimmten Git-Referenz herunterladen. Um die Verwendung eines Tarballs zu erzwingen, anstatt den Quellcode zu klonen, können Sie die Option --prefer-dist von install und update verwenden.

Hier ist ein Beispiel (ich habe die Option --profile verwendet, um die Ausführungszeit anzuzeigen):

$ composer init --require="twig/twig:1.*" -n --profile

Memory usage: 3.94MB (peak: 4.08MB), time: 0s

  

$ composer install --profile

Loading composer repositories with package information

Installing dependencies

  - Installing twig/twig (v1.12.2)

    Downloading: 100%

  

Writing lock file

Generating autoload files

Memory usage: 10.13MB (peak: 12.65MB), time: 4.71s

  

$ rm -rf vendor

  

$ composer install --profile

Loading composer repositories with package information

Installing dependencies from lock file

  - Installing twig/twig (v1.12.2)

    Loading from cache

  

Generating autoload files

Memory usage: 4.96MB (peak: 5.57MB), time: 0.45s

Hier wird das komprimierte Paket von twig/twig:1.12.2 in ~/ gespeichert. Composer /cache/files/twig/twig/1.12.2.0-v1.12.2.zip. Verwenden Sie es direkt bei der Neuinstallation des Pakets.

5. Wenn Sie zuerst den Quellcode ändern möchten

Wenn Sie die Bibliothek ändern müssen, ist das Klonen des Quellcodes bequemer als das Herunterladen des Pakets. Sie können --prefer-source verwenden, um die Auswahl des Klon-Quellcodes zu erzwingen.

composer update symfony/yaml --prefer-source

Als Nächstes können Sie die Datei ändern:

composer status -v

You have changes in the following dependencies:

/path/to/app/vendor/symfony/yaml/Symfony/Component/Yaml:

    M Dumper.php

Wenn Sie versuchen, eine geänderte Bibliothek zu aktualisieren, werden Sie von Composer daran erinnert und gefragt, ob Sie die Änderung abbrechen möchten:

$ composer update

Loading composer repositories with package information

Updating dependencies

  - Updating symfony/symfony v2.2.0 (v2.2.0- => v2.2.0)

    The package has modified files:

    M Dumper.php

    Discard changes [y,n,v,s,?]?</p>
<p> Bereiten Sie vor für die Produktionsumgebung </p>
<p>Abschließend vergessen Sie beim Bereitstellen von Code in der Produktionsumgebung nicht, das automatische Laden zu optimieren: </p>
<pre class="brush:php;toolbar:false">composer dump-autoload --optimize

Sie können bei der Installation von Paketen auch den Autoloader --optimize- verwenden. Ohne diese Option kann es zu einem Leistungsverlust von 20 bis 25 % kommen.

Weitere technische Artikel zum Thema Komponisten finden Sie in der Rubrik Komponisten! !

Das obige ist der detaillierte Inhalt von5 Composer-Tipps, die PHP-Entwickler kennen sollten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen