Maison > outils de développement > composer > Introduction au rôle du fichier composer.lock

Introduction au rôle du fichier composer.lock

藏色散人
Libérer: 2019-12-16 11:37:05
avant
3013 Les gens l'ont consulté

La colonne suivante du composertutoriel vous présentera la fonction du fichier composer.lock. J'espère qu'il sera utile aux amis dans le besoin !

Introduction au rôle du fichier composer.lock

L'utilisation de base de Composer

est utilisée dans le project composer.json

Pour utiliser composer dans votre projet, vous devez disposer d'un fichier composer.json. Ce fichier est principalement utilisé pour déclarer les relations entre les packages et les autres balises d'éléments.

mot-clé require

La première chose à faire dans composer.json est d'utiliser le mot-clé require. Vous indiquerez au compositeur de quels packages votre projet a besoin

Le code est le suivant :

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}
Copier après la connexion

Comme vous pouvez le voir, l'objet require mappera le nom du package (monolog/monolog) et la version du package est 1.0.*

Le nom du package

Basiquement, le nom du package est le nom principal/nom du projet (monolog/monolog). Le nom principal doit être unique, mais le nom du projet, qui est notre package, peut avoir le même nom, par exemple : igorw/json et seldaek /json

Version du package

La version de monologue que nous devons utiliser est 1.0.*, ce qui signifie que tant que la version est la branche 1.0, comme 1.0.0, 1.0.2 ou 1.0.99

Deux façons de définir la version :

Version standard : Définir. un fichier de package de version garantie, tel que : 1.0.2

2. Une certaine plage de versions : utilisez des symboles de comparaison pour définir la plage de versions valides : >, >=, <, <=, !=

3. Caractères génériques : Spécial Le symbole correspondant *, par exemple, 1.0.* est équivalent à >=1.0, la version <1.1 suffit

4 . La prochaine version importante : la meilleure explication du symbole ~ est que ~1.2 est équivalent à la version >1.2,<2.0, mais ~1.2.3 est équivalente à la version >=1.2.3,<1.3.

Installez le package

Exécutez-le dans le chemin du fichier du projet

Le code est le suivant :

$ composer install
Copier après la connexion

De cette façon, il téléchargera automatiquement le monolog/monolog à votre fournisseur sous le répertoire.

La prochaine chose qui doit être expliquée est

composer.lock - fichier de verrouillage

Après avoir installé tous les packages requis, composer générera un standard Le fichier de version du package se trouve dans le fichier composer.lock. Cela verrouillera les versions de tous les packages.

Utilisez composer.lock (avec composer.json bien sûr) pour contrôler la version de votre projet

Ceci est très important lorsque nous utilisons la commande install pour le traiter, ce sera d'abord le cas. Déterminez si le fichier composer.lock existe. S'il existe, la version correspondante sera téléchargée (non basée sur la configuration dans composer.json), ce qui signifie que toute personne téléchargeant le projet obtiendra la même version.

Si composer.lock n'existe pas, composer lira le package requis et la version relative via composer.json, puis créera le fichier composer.lock

De cette façon, il pourra être utilisé dans votre Une fois que le package a une nouvelle version, vous ne serez pas automatiquement mis à jour. Pour mettre à niveau vers la nouvelle version, utilisez simplement la commande update. De cette façon, vous pourrez obtenir la dernière version du package et également mettre à jour votre fichier composer.lock.

$ php composer.phar update
或者
$ composer update
Copier après la connexion

Packagist (cela devrait être composer, cela ressemble un peu à un package python, bien que pas aussi puissant, haha, avec ce standard, il sera certainement facile pour tout le monde de développer des sites Web à l'avenir, et vous peut apprendre des codes de nombreuses personnes, et c'est plus pratique ! )

Packagist est l'entrepôt principal de composer Vous pouvez le consulter. La base de composer Warehouse est le code source du package. à volonté. Packagist est conçu pour être un outil accessible à tous. Un référentiel peut être utilisé, ce qui signifie n'importe quel package requis dans votre fichier.

À propos du chargement automatique

Afin de charger facilement les fichiers du package, Composer génère automatiquement un fichier supplier/autoload.php, que vous pouvez facilement utiliser partout où vous en avez besoin

require &#39;vendor/autoload.php&#39;;
Copier après la connexion

Cela signifie que vous pouvez utiliser du code tiers très facilement. Supposons que votre projet doive utiliser monlog, vous pouvez l'utiliser directement, ils ont été automatiquement chargés !

Le code est le suivant :

$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;);
Copier après la connexion

Bien sûr, vous pouvez également charger votre propre code dans composer.json :

Le code est le suivant :

{
    "autoload": {
        "psr-0": {"Acme": "src/"}
    }
}
Copier après la connexion

Composer enregistrera psr-0 comme espace de noms Acme

Vous pouvez définir un mappage vers le répertoire de fichiers via l'espace de noms. Le répertoire src est votre répertoire racine et supplier est le répertoire au même niveau. Par exemple, un fichier : src/Acme/Foo.php contient la classe AcmeFoo. .

Après avoir ajouté le chargement automatique, vous devez réinstaller pour générer le fichier supplier/autoload.php

Lorsque nous référencerons ce fichier, une classe d'autochargeur sera renvoyée, vous pourrez donc mettre la valeur renvoyée. dans une variable puis ajoutez plus d'espaces de noms. C'est très pratique si vous êtes dans un environnement de développement :

Le code est le suivant :

$loader = require &#39;vendor/autoload.php&#39;;
$loader->add('Acme\Test', __DIR__);
Copier après la connexion

Le rôle du. Fichier composer.lock

La commande d'installation lit le fichier composer.json à partir du répertoire actuel, traite les dépendances et l'installe dans le répertoire du fournisseur.

Le code est le suivant :

composer install
Copier après la connexion

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

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

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

代码如下:

composer update
Copier après la connexion

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

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

代码如下:

composer update vendor/package vendor/package2
Copier après la connexion

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

代码如下:

composer update vendor/*
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal