


Installation et utilisation de Composer pour le framework API PHP manuscrit (2)
Composer est un outil de gestion des dépendances pour PHP. Il vous permet de déclarer les bibliothèques de code dont dépend votre projet et il les installera pour vous dans votre projet.
Si vous êtes un ingénieur front-end, vous auriez dû utiliser npm ; si vous êtes un développeur Python, vous auriez dû utiliser pip En bref, vous pouvez comprendre composer de cette façon.
composer peut être souvent mentionné dans le manuel. Découvrons l'installation et les commandes courantes.
Installation
Linux
L'installation de Composer est relativement simple. Il n'est pas recommandé d'utiliser yum et d'autres packages de gestion pour l'installer directement, car cela peut modifier votre version php par défaut. Nous pouvons ignorer l'installation en :
curl -sS getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
Windows
Télécharger Et exécutez Composer-Setup.exe, il installera la dernière version de Composer. Il est recommandé d'ajouter la variable d'environnement système afin que vous puissiez utiliser la commande composer directement dans n'importe quel répertoire.
Modifier la source miroir
La source miroir par défaut est relativement lente à télécharger en Chine Il est recommandé de changer la source miroir
composer config -g repo.packagist composer packagist.phpcomposer.com
Vous. peut également utiliser la source miroir d'Alibaba (recommandé)
composer config -g repo.packagist composer mirrors.aliyun.com/composer/
config -g/--global signifie configuration globale
composer common commands
-
init initialization
参数:--name: 包的名称。--description: 包的描述。--author: 包的作者。--homepage: 包的主页。--require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。--require-dev: 开发版的依赖包,内容格式与 --require 相同。--stability (-s): minimum-stability 字段的值。复制代码
require ajouté
require La commande ajoute de nouveaux packages de dépendances au fichier composer.json dans le répertoire actuel et peut spécifier la version.
composer require supplier/package:2.* seller/package2:dev-master
install La commande install lit le fichier composer.json à partir du répertoire actuel, traite les dépendances et l'installe dans le répertoire du fournisseur.
S'il y a un fichier composer.lock dans le répertoire courant, il lira la version de la dépendance à partir de ce fichier au lieu d'obtenir la dépendance à partir du fichier composer.json. Cela garantit que chaque consommateur de la bibliothèque obtient la même version de dépendance. S'il n'y a pas de fichier composer.lock, composer le créera après avoir géré les dépendances. Vous pouvez simplement comprendre composer.lock comme le cache de la bibliothèque d'extensions.update
Afin d'obtenir la dernière version des dépendances et de mettre à jour le fichier composer.lock, vous devez utiliser la commande update.
composer update
Si vous souhaitez simplement mettre à jour quelques packages, vous pouvez les lister séparément comme ceci :Cela résoudra toutes les dépendances du projet et écrira le numéro de version exact dans composer.lock.
composer update supplier/package supplier/package2
==Remarque== : La commande update mettra à jour la version limitée dans composer .json dernières dépendances. Par exemple, si vous écrivez « monolog/monolog » : « 1.* », la commande update peut mettre à jour la version 1.0 vers la version 1.2, mais ne mettra pas à jour la 1.0 vers la version 2.0. Il faut donc faire attention lors de son utilisation.
recherche
La commande de recherche vous permet de rechercher des packages dépendants pour le projet en cours. Habituellement, elle recherche uniquement les packages sur packagist.org. Vous pouvez simplement saisir vos critères de recherche.
show
Pour lister tous les packages disponibles, vous pouvez utiliser la commande show.
Vous pouvez également cliquer pour afficher plus de packages de composition
Imprimer l'index de chargement automatique Dans certains cas, vous devez mettre à jour le chargeur automatique, par exemple en ajoutant une nouvelle classe à votre package. . Vous pouvez utiliser dump-autoload pour ce faire sans avoir à exécuter les commandes d'installation ou de mise à jour.
De plus, il peut imprimer un index optimisé d'une classe conforme à la spécification PSR-0/4, ce qui est également dû à des considérations de performances. Dans les grandes applications, il y aura de nombreux fichiers de classe et le chargeur automatique prendra une grande partie du temps de chaque requête. L'utilisation de classmaps n'est peut-être pas pratique pendant le développement, mais elle peut toujours obtenir PSR-0/ tout en garantissant les performances. . Commodité apportée par les normes.
Veuillez cliquer pour voir plus de commandes composer
D'accord, dans cette section, nous présentons l'installation et les commandes courantes de composer. Nous pouvons ensuite intégrer le framework dans un package composer et le partager avec d'autres étudiants en développement.
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

J'ai rencontré un problème délicat lors du développement d'un nouveau projet Laravel: comment créer rapidement un système de gestion de contenu entièrement fonctionnel et facile à gérer (CMS). J'ai essayé plusieurs solutions, mais toutes ont abandonné en raison d'une configuration complexe et d'une maintenance gênante. Jusqu'à ce que je découvre le package Laravelcms MKI-LABS / ESPRESSO, qui non seulement simple à installer, mais fournit également des fonctions puissantes et une interface de gestion intuitive, ce qui a complètement résolu mon problème.

Dans le développement de projets, il est souvent nécessaire de créer des outils de ligne de commande pour simplifier les tâches quotidiennes ou automatiser les processus. Cependant, la création d'une interface de ligne de commande qui est belle et facile à tester n'est pas facile. Récemment, j'ai rencontré ce problème lors du développement d'un projet qui nécessite des outils de ligne de commande. Après une certaine exploration, j'ai trouvé la bibliothèque Symfony / Console, qui simplifie considérablement le processus de création des interfaces de ligne de commande.

J'ai rencontré un problème commun mais délicat lors du développement d'un grand projet PHP: comment gérer et injecter efficacement les dépendances. Initialement, j'ai essayé d'utiliser des variables globales et une injection manuelle, mais cela a non seulement augmenté la complexité du code, il a également conduit facilement à des erreurs. Enfin, j'ai résolu avec succès ce problème en utilisant l'interface de conteneur PSR-11 et avec la puissance du compositeur.

Lorsque vous développez des projets de framework YII, vous rencontrez souvent des situations où vous devez obtenir une grande quantité de données de la base de données. Si des mesures appropriées ne sont pas prises, l'obtention directement de toutes les données peut entraîner un débordement de mémoire et affecter les performances du programme. Récemment, lorsque j'avais affaire à un projet sur une grande plate-forme de commerce électronique, j'ai rencontré ce problème. Après quelques recherches et essais, j'ai finalement résolu le problème par le biais de la bibliothèque d'extension de Pavle / Yii-Batch-Result.

Pendant le développement, des demandes HTTP sont souvent nécessaires, ce qui peut être d'obtenir des données, d'envoyer des données ou d'interagir avec des API externes. Cependant, face à des environnements de réseau complexes et à la modification des exigences de demande, comment gérer efficacement les demandes HTTP devient un défi. J'ai rencontré un problème dans un projet: je dois envoyer fréquemment des demandes à différentes API et enregistrer les demandes pour faciliter le débogage et l'analyse ultérieures. Après avoir essayé plusieurs méthodes, j'ai découvert la bibliothèque Yiche / HTTP. Il simplifie non seulement le traitement des demandes HTTP, mais fournit également des fonctions de journalisation dynamique, améliorant considérablement l'efficacité de développement.

Lors du développement d'un projet de site Web du gouvernement, j'ai rencontré un problème difficile: comment améliorer l'accessibilité du site Web pour répondre aux besoins des différents utilisateurs, en particulier pour les utilisateurs malvoyants, la navigation et l'exploitation du site Web peuvent être très difficiles. Après avoir essayé plusieurs méthodes, j'ai trouvé une bibliothèque JavaScript appelée FlyingFocus qui améliore considérablement l'accessibilité du site Web. Cependant, l'intégrer dans le site Web de Silverstripe est un défi. Heureusement, j'ai trouvé le module Dia-NZ / Silverstripe-Flying-Focus, qui a simplifié le processus d'intégration de FlyingFocus et a résolu mon puzzle.

J'ai un problème difficile lors du développement d'une application Web complexe: comment gérer efficacement les erreurs JavaScript et les enregistrer. J'ai essayé plusieurs méthodes, mais aucun d'eux ne pouvait répondre à mes besoins jusqu'à ce que je trouve cette bibliothèque dvasilenko / alterrego_tools. J'ai facilement résolu ce problème grâce à l'installation de cette bibliothèque via Composer et j'ai considérablement amélioré la maintenabilité et la stabilité du projet. Le compositeur peut être appris par l'adresse suivante: Adresse d'apprentissage

Un support multilingue est souvent requis dans le développement de projets, et Otance était autrefois une solution très populaire. Cependant, j'ai récemment constaté que le projet Otrance n'est plus maintenu et mis à jour, ce qui m'a obligé à trouver de nouvelles alternatives pour répondre aux besoins du projet. Heureusement, Composer fournit un moyen pratique de gérer et d'installer d'autres plates-formes de traduction.
