recherche
Maisondéveloppement back-endtutoriel phpRéintroduction du compositeur, la pierre angulaire des applications PHP modernes

Cet article fournit un guide complet de Composer, un puissant outil de gestion des dépendances pour PHP. Nous couvrirons ses fonctionnalités de base, son installation, son utilisation et son intégration avec Packagist.

Re-introducing Composer, the Cornerstone of Modern PHP Apps

Comprendre le compositeur:

Le compositeur simplifie la gestion de la dépendance du projet PHP. Il vous permet de définir les exigences du projet dans un fichier composer.json, puis télécharge et gère automatiquement ces dépendances. Surtout, le compositeur est pas un gestionnaire de packages global; Il fonctionne sur une base par rapport, installant des dépendances dans le répertoire vendor du projet.

Caractéristiques de clé:

  • Gestion des dépendances: déclare et gère toutes les dépendances du projet, assurant des environnements cohérents.
  • composer.json: un fichier JSON définissant les dépendances et les métadonnées du projet.
  • Commandes: fournit des commandes comme composer init, composer create-project et composer require pour la gestion de la dépendance. composer require <package></package> est l'approche recommandée.
  • AutoLoading: fournit la mise à jour pour les dépendances du projet et le code d'application, simplifiant l'accès.
  • Intégration de packagist: exploite Packagist, le référentiel de compositeur principal, pour la découverte et l'installation de packages.

Installation:

Le compositeur peut être installé localement ou mondial. L'installation globale est recommandée pour faciliter l'utilisation sur plusieurs projets. (Remarque: Homestead amélioré l'installe à l'échelle mondiale par défaut). Suivez les instructions spécifiques au système d'exploitation; Sur les systèmes Unix, après l'installation, utilisez:

mv composer.phar /usr/local/bin/composer

Cela rend la commande composer directement accessible. L'exécution composer affiche des informations utiles.

Re-introducing Composer, the Cornerstone of Modern PHP Apps

Commandes de compositeurs utiles:

  • composer help <command></command>: Affiche l'aide pour une commande spécifique.
  • composer self update: met à jour le compositeur à la dernière version.
  • composer search: recherche de packages sur Packagist.
  • composer status: montre des dépendances modifiées localement.
  • composer diagnose: Diagnostic des problèmes du système.

Utilisation du compositeur:

Composer utilise le fichier composer.json pour gérer les dépendances. Plusieurs méthodes existent pour gérer les dépendances:

  1. composer init: Assistant interactif pour générer composer.json.
  2. composer search <keyword></keyword>: recherche de packages, suivis de composer require <package></package> pour l'ajouter.
  3. Manuel composer.json Création: (découragé en raison des complexités de syntaxe).

Exemple composer.json (en utilisant phpunit):

mv composer.phar /usr/local/bin/composer

Après avoir créé ou modifié composer.json, exécutez composer install pour télécharger les dépendances. La première installation crée composer.lock, enregistrant les versions exactes utilisées, garantissant la cohérence entre les environnements.

Mise à jour des packages:

composer update met à jour les dépendances de leurs dernières versions, mettant à jour composer.lock. Cela équivaut à supprimer composer.lock et à relancer composer install. La validation composer.lock au contrôle des versions est généralement recommandée pour les applications, mais pas pour les packages (qui devraient utiliser les dernières dépendances stables).

Le répertoire vendor:

Composer installe les dépendances dans le répertoire /vendor, y compris vendor/autoload.php. Incluez ce fichier dans votre code pour accéder aux dépendances:

{
    "require": {
        "phpunit/phpunit": "^4.8"
    }
}

Autoloading:

Le compositeur de la composition des gère l'accès à la dépendance. Vous pouvez également automatiquement automatiquement votre code d'application en configurant la touche autoload dans composer.json:

require __DIR__ . '/vendor/autoload.php';

Ensuite, exécutez composer dump-autoload (ou composer du) pour régénérer l'autoloader.

Configuration et stabilité minimale:

Pour installer des packages instables, définissez minimum-stability dans composer.json ou via la ligne de commande:

{
    "autoload": {
        "psr-4": {"Foo\": "src/"}
    }
}

Packages globaux:

Installez des packages à l'échelle mondiale en utilisant l'option global (par exemple, composer global require phpunit/phpunit), bien que cela soit parfois considéré comme moins idéal pour les pratiques de développement modernes.

packagist:

Re-introducing Composer, the Cornerstone of Modern PHP Apps

Packagist est le référentiel central du compositeur. Il agrége les packages PHP, simplifiant la découverte de packages. Les développeurs peuvent soumettre leurs forfaits à Packagist après les avoir hébergés sur une plate-forme comme GitHub.

Soumettre un package à Packagist:

Créez un package PHP simple (exemple: une classe de conversion d'unité), créez un fichier composer.json avec des métadonnées nécessaires et la configuration de mise en œuvre automatique, poussez-la dans un référentiel GitHub, puis soumettez-le à Packagist via le site Web Packagist, en vous reliant à Votre référentiel GitHub. N'oubliez pas de mettre à jour Packagist chaque fois que vous mettez à jour votre référentiel GitHub.

Conclusion:

Composer est un outil fondamental pour le développement de PHP moderne, la rationalisation de la gestion des dépendances et la promotion de la collaboration communautaire via Packagist.

Questions fréquemment posées (FAQ): (Les FAQ fournies sont déjà assez complets et bien écrits; aucun changement significatif nécessaire.)

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
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
Réglage des performances PHP pour les sites Web de trafic élevéRéglage des performances PHP pour les sites Web de trafic élevéMay 14, 2025 am 12:13 AM

TheseCreTokeepingaphp propulséedwebsiterunnings omanlyderheayloadoLinvolveSeveralKeySTRATÉES: 1) Implémentez le codécachement de la réception de l'option d'épreuve de base

Injection de dépendance dans PHP: Exemples de code pour les débutantsInjection de dépendance dans PHP: Exemples de code pour les débutantsMay 14, 2025 am 12:08 AM

Vous devez vous soucier de la dépendance injection (DI) car cela rend votre code plus clair et plus facile à entretenir. 1) La DI le rend plus modulaire en découplant les classes, 2) améliore la commodité des tests et de la flexibilité du code, 3) Utiliser des conteneurs DI pour gérer les dépendances complexes, mais faire attention à l'impact des performances et aux dépendances circulaires, 4) La meilleure pratique consiste à s'appuyer sur des interfaces abstraites pour atteindre un couplage lâche.

Performances PHP: est-il possible d'optimiser l'application?Performances PHP: est-il possible d'optimiser l'application?May 14, 2025 am 12:04 AM

Oui, optimiseraPhpApplicationIspossibleBessential.1) implémentcachingusingapcutoredataBaseLoad.2) optimizedatabases withithindexing, efficienceseries, andconnectionpooling.3) améliorez les codéins de bobuilt, évitant les Globalvariables, et les codéins de bobuil

Optimisation des performances PHP: le guide ultimeOptimisation des performances PHP: le guide ultimeMay 14, 2025 am 12:02 AM

The KeystrategiestosiglyboostphpapplicationPerformanceAre: 1) useopCodecachingLILYOPCACHETOREDUCEEXECUTURSTime, 2) OptimizedatabaseInterActionSwithPreparedStatements andproperIndexing, 3) ConfigurewebserVerslikenginxWithPhp-fpmForBetterformance, 4)

PHP Dependency Injection Container: un démarrage rapidePHP Dependency Injection Container: un démarrage rapideMay 13, 2025 am 12:11 AM

AphpdependencyInjectionContaineeRisatool That ManageSclassDensences, améliorant le codemodularité, la testabilité et la participation.

Injection de dépendance vs localisateur de service en PHPInjection de dépendance vs localisateur de service en PHPMay 13, 2025 am 12:10 AM

Sélectionnez DependencyInjection (DI) Pour les grandes applications, le service de service convient aux petits projets ou prototypes. 1) DI améliore la testabilité et la modularité du code par injection de constructeur. 2) Servicelocator obtient des services par l'enregistrement du centre, ce qui est pratique mais peut entraîner une augmentation du couplage du code.

Stratégies d'optimisation des performances PHP.Stratégies d'optimisation des performances PHP.May 13, 2025 am 12:06 AM

PhpapplicationsCanBeoptimizedForsPeedAndFiciency: 1) AutoringOpCacheInphp.ini, 2) Utilisation de PreparedStatementswithpodOrdatabasequeries, 3) Remplacingloopswitray_filterandArray_Mapfordataprocessing, 4) Configurationnginxasareproxy, 5)

Validation des e-mails PHP: garantir que les e-mails sont envoyés correctementValidation des e-mails PHP: garantir que les e-mails sont envoyés correctementMay 13, 2025 am 12:06 AM

PhpemailvalidationInvolvesthestreps: 1) formatvalidationusinggularexpressionstochecktheemailformat; 2) dnsvalidationtoensethedomainhasavalidmxrecord; 3) smtpvalidation, themostthoroughMethod.

See all articles

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

<🎜>: Bubble Gum Simulator Infinity - Comment obtenir et utiliser les clés royales
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Nordhold: Système de fusion, expliqué
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Comment déverrouiller le grappin
3 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

Adaptateur de serveur SAP NetWeaver pour Eclipse

Adaptateur de serveur SAP NetWeaver pour Eclipse

Intégrez Eclipse au serveur d'applications SAP NetWeaver.

SublimeText3 version Mac

SublimeText3 version Mac

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

PhpStorm version Mac

PhpStorm version Mac

Le dernier (2018.2.1) outil de développement intégré PHP professionnel