Heim > Artikel > Entwicklungswerkzeuge > Was macht die Datei „composer.lock“?
Die folgende Tutorial-Kolumne von Composer mit stellt Ihnen die Funktion der Composer.lock-Datei vor. Ich hoffe, dass sie Freunden in Not hilfreich sein wird!
Grundlegende Verwendung von Composer
Composer.json im Projekt verwenden
Composer im Projekt verwenden, Sie benötigen 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.*" } }
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. Definieren Sie eine garantierte Versionspaketdatei. wie zum Beispiel: 1.0.2
2. Eine bestimmte Bereichsversion: Verwenden Sie Vergleichssymbole, um den Bereich gültiger Versionen zu definieren: >, >=, 217e29fe5850979f6f13f5453e018c38=1.0,ed8ff36f50b5d9f76dbc84268ca703001.2,ae658aec3a018bb7affd2d9bebfb709c=1.2.3, Installationspaket Führen Sie es im Projektdateipfad aus Der Code lautet wie folgt: Auf diese Weise Es lädt automatisch die Monolog-/Monolog-Datei in Ihr Anbieterverzeichnis herunter. Das nächste, was erklärt werden muss, ist composer.lock – Datei sperren Nach der Installation aller erforderlichen Pakete generiert Composer eine Standardpaketversion. Die Dateien sind in die 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. 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 seller/autoload.php. Sie können sie bequem überall verwenden Sie müssen es verwenden Das bedeutet, dass Sie Code von Drittanbietern sehr bequem verwenden können. Wenn Ihr Projekt Monlog verwenden muss, können Sie es direkt verwenden, sie wurden automatisch geladen! Der Code lautet wie folgt: Natürlich können Sie auch Ihren eigenen Code in Composer.json laden: Der Code lautet wie folgt: composer will put psr-0 Registriert als Acme-Namespace Sie können eine Zuordnung zum Dateiverzeichnis über den Namespace definieren. Das src-Verzeichnis ist Ihr Stammverzeichnis und der Anbieter ist das Verzeichnis auf derselben Ebene. src/Acme/Foo. PHP enthält die AcmeFoo-Klasse 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, a Die Stärke von die Autoloader-Klasse, sodass Sie den zurückgegebenen Wert in eine Variable einfügen und dann weitere Namespaces hinzufügen können. Dies ist beispielsweise sehr praktisch, wenn Sie sich in einer Entwicklungsumgebung befinden: Der Code lautet wie folgt: Die Rolle der 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.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。 如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。 为了获取依赖的最新版本,并且升级 composer.lock 文件,你应该使用 update 命令。 代码如下: 这将解决项目的所有依赖,并将确切的版本号写入 composer.lock。 如果你只是想更新几个包,你可以像这样分别列出它们: 代码如下: 你还可以使用通配符进行批量更新: 代码如下: Das obige ist der detaillierte Inhalt vonWas macht die Datei „composer.lock“?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!$ composer install
$ php composer.phar update
或者
$ composer update
require 'vendor/autoload.php';
$log = new Monolog\Logger('name');
$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
$log->addWarning('Foo');
{
"autoload": {
"psr-0": {"Acme": "src/"}
}
}
$loader = require 'vendor/autoload.php';
$loader->add('Acme\Test', __DIR__);
composer install
composer update
composer update vendor/package vendor/package2
composer update vendor/*