Maison >développement back-end >tutoriel php >Réintroduction du compositeur, la pierre angulaire des applications PHP modernes

Réintroduction du compositeur, la pierre angulaire des applications PHP modernes

Christopher Nolan
Christopher Nolanoriginal
2025-02-10 09:40:14858parcourir

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:

<code class="language-bash">mv composer.phar /usr/local/bin/composer</code>

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):

<code class="language-bash">mv composer.phar /usr/local/bin/composer</code>

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:

<code class="language-json">{
    "require": {
        "phpunit/phpunit": "^4.8"
    }
}</code>

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:

<code class="language-php">require __DIR__ . '/vendor/autoload.php';</code>

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:

<code class="language-json">{
    "autoload": {
        "psr-4": {"Foo\": "src/"}
    }
}</code>

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