Maison outils de développement composer Que fait le fichier composer.lock ?

Que fait le fichier composer.lock ?

Nov 23, 2019 am 11:24 AM
composer

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

Que fait le fichier composer.lock ?

Utilisation de base de Composer

Utiliser composer.json dans le projet

Utiliser composer dans le 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 :

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

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

3. Wildcard : symbole de correspondance spécial *, par exemple 1.0.* est équivalent à >=1.0,

4. du symbole ~ est que ~1.2 est équivalent à >1.2,<2.0, mais ~1.2.3 est équivalent à >=1.2.3,

Package d'installation

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 fichier monologue/monologue dans le répertoire de votre fournisseur.

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 une version standard du package Les fichiers sont 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. Vous pouvez l'utiliser facilement n'importe où. vous devez l'utiliser

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

Cela signifie que vous pouvez utiliser du code tiers très très facilement. Si votre projet doit 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 will put psr-0 Enregistré en tant qu'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 le fournisseur est le répertoire au même niveau. : 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, a sera return La force de la classe autoloader, vous pouvez donc mettre la valeur renvoyée dans une variable puis ajouter plus d'espaces de noms. C'est très pratique si vous êtes dans un environnement de développement, par exemple :

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 install lit le fichier composer.json à partir du répertoire courant, traite les dépendances et l'installe dans le répertoire des fournisseurs.

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Jun 03, 2024 pm 12:37 PM

Composer fournit des fonctionnalités avancées, notamment : 1. Alias : définissez des noms pratiques pour les packages pour référence répétée ; 2. Scripts : exécutez des commandes personnalisées lors de l'installation/mise à jour de packages, utilisées pour créer des tables de base de données ou compiler des ressources ; 3. Résolution de conflits : utilisez des règles de priorité ; , les contraintes de satisfaction et les alias de package résolvent les différentes exigences de plusieurs packages pour la même version de dépendance afin d'éviter les conflits d'installation.

Quelles sont les méthodes courantes pour convertir des tableaux en objets en PHP ? Quelles sont les méthodes courantes pour convertir des tableaux en objets en PHP ? Apr 28, 2024 pm 10:54 PM

Comment convertir un tableau PHP en objet : utilisez la classe stdClass, utilisez la fonction json_decode(), utilisez une bibliothèque tierce (telle que la classe ArrayObject, la bibliothèque Hydrator)

Développement et exploitation agiles de la conteneurisation de microservices PHP Développement et exploitation agiles de la conteneurisation de microservices PHP May 08, 2024 pm 02:21 PM

Réponse : Les microservices PHP sont déployés avec HelmCharts pour un développement agile et conteneurisés avec DockerContainer pour l'isolation et l'évolutivité. Description détaillée : utilisez HelmCharts pour déployer automatiquement des microservices PHP afin de réaliser un développement agile. Les images Docker permettent une itération rapide et un contrôle de version des microservices. Le standard DockerContainer isole les microservices et Kubernetes gère la disponibilité et l'évolutivité des conteneurs. Utilisez Prometheus et Grafana pour surveiller les performances et l'état des microservices, et créer des alarmes et des mécanismes de réparation automatiques.

Contrôle de version et collaboration du code PHP Contrôle de version et collaboration du code PHP May 07, 2024 am 08:54 AM

Contrôle de version du code PHP : Il existe deux systèmes de contrôle de version (VCS) couramment utilisés dans le développement PHP : Git : VCS distribué, où les développeurs stockent localement des copies de la base de code pour faciliter la collaboration et le travail hors ligne. Subversion : VCS centralisé, la seule copie de la base de code est stockée sur un serveur central, offrant plus de contrôle. VCS aide les équipes à suivre les modifications, à collaborer et à revenir aux versions antérieures.

Le rôle de PHP CI/CD dans les projets DevOps Le rôle de PHP CI/CD dans les projets DevOps May 08, 2024 pm 09:09 PM

PHPCI/CD est une pratique clé dans les projets DevOps qui automatise les processus de création, de test et de déploiement, améliorant ainsi l'efficacité du développement et la qualité des logiciels. Un pipeline PHPCI/CD typique comprend les étapes suivantes : 1) Intégration continue : chaque fois que le code change, le code est automatiquement construit et testé. 2) Déploiement continu : accélérez la livraison en déployant automatiquement le code testé et intégré dans l'environnement de production. En mettant en œuvre le pipeline PHPCI/CD, vous pouvez augmenter l’efficacité du développement, améliorer la qualité des logiciels, réduire les délais de mise sur le marché et augmenter la fiabilité.

Technologie de visualisation de la structure des données PHP Technologie de visualisation de la structure des données PHP May 07, 2024 pm 06:06 PM

Il existe trois technologies principales pour visualiser les structures de données en PHP : Graphviz : un outil open source capable de créer des représentations graphiques telles que des graphiques, des graphiques acycliques dirigés et des arbres de décision. D3.js : bibliothèque JavaScript pour créer des visualisations interactives basées sur les données, générer du HTML et des données à partir de PHP, puis les visualiser côté client à l'aide de D3.js. ASCIIFlow : une bibliothèque pour créer une représentation textuelle de diagrammes de flux de données, adaptée à la visualisation de processus et d'algorithmes.

Comment utiliser PHP CI/CD pour itérer rapidement ? Comment utiliser PHP CI/CD pour itérer rapidement ? May 08, 2024 pm 10:15 PM

Réponse : Utilisez PHPCI/CD pour réaliser une itération rapide, y compris la configuration de pipelines CI/CD, de tests automatisés et de processus de déploiement. Configurer un pipeline CI/CD : sélectionnez un outil CI/CD, configurez le référentiel de code et définissez le pipeline de build. Tests automatisés : rédigez des tests unitaires et d'intégration et utilisez des frameworks de test pour simplifier les tests. Cas pratique : Utilisation de TravisCI : Installez TravisCI, définissez le pipeline, activez le pipeline et visualisez les résultats. Mettez en œuvre la livraison continue : sélectionnez les outils de déploiement, définissez les pipelines de déploiement et automatisez le déploiement. Avantages : améliorez l’efficacité du développement, réduisez les erreurs et raccourcissez les délais de livraison.

Comment utiliser le cache Redis dans la pagination des tableaux PHP ? Comment utiliser le cache Redis dans la pagination des tableaux PHP ? May 01, 2024 am 10:48 AM

L'utilisation du cache Redis peut considérablement optimiser les performances de la pagination du tableau PHP. Cela peut être réalisé en suivant les étapes suivantes : Installez le client Redis. Connectez-vous au serveur Redis. Créez des données de cache et stockez chaque page de données dans un hachage Redis avec la clé « page : {page_number} ». Récupérez les données du cache et évitez les opérations coûteuses sur les grandes baies.

See all articles