Utiliser Composer avec WordPress
Publié: 2022-06-30WordPress existe depuis 2003 et est devenu l'outil par défaut pour la plupart des personnes cherchant à créer un site Web. Bien qu'il ait parcouru un long chemin depuis ses racines en tant que moteur de blog, la technologie sous-jacente n'a pas fait les mêmes sauts que l'expérience utilisateur.
Le développement de WordPress tourne toujours autour de nombreuses normes qui étaient présentes en 2003. Bien que cela puisse le rendre plus accessible aux gens en raison de la moindre compréhension technique requise, cela signifie également que de nombreuses nouvelles ressources de développement ne sont pas compatibles avec WordPress prêt à l'emploi.
Aujourd'hui, nous allons jeter un œil à l'un de ces nouveaux outils appelé Composer. Voyons comment cela peut s'intégrer à votre flux de travail WordPress et discutons des raisons pour lesquelles vous voudrez peut-être l'essayer.
C'est quoi Compositeur ?
Chaque bit de code que vous écrivez a des dépendances. Si vous écrivez un plugin WordPress, votre plus grande dépendance est WordPress lui-même. Sans les fonctions de base fournies par WordPress, il est probable que votre plugin ne soit pas du tout utile. En dehors de WordPress lui-même, vous pourriez avoir besoin d'un client SOAP moderne comme nusoap pour s'interfacer avec les API basées sur SOAP.
Dans le passé, la plupart des gens copiaient simplement le référentiel de nusoap dans un répertoire de leur plugin, puis incluaient les fichiers nécessaires à l'utilisation de la bibliothèque. C'est là que Composer peut intervenir et simplifier une partie de la gestion de vos dépendances.
Composer est un gestionnaire de dépendances. Il est spécialement conçu pour faciliter l'installation et la gestion des dépendances. Cela peut devenir particulièrement crucial si vous travaillez en équipe et que vous voulez vous assurer que chaque membre de l'équipe utilise les mêmes bibliothèques lors de son travail de développement.
À sa base, Composer est un fichier JSON qui détaille les dépendances que vous avez installées et les versions des dépendances que vous souhaitez utiliser. Vous pouvez voir un exemple de base ci-dessous qui inclut la dépendance nusoap.
{
"exiger": {
« econea/nusoap » : « ^0.9.10 »
}
}
Lorsque j'exécute composer require econea/nusoap dans mon plugin, il installe nusoap pour moi et le verrouille sur la version spécifiée. Dans ce cas, j'utilise 0.9.10 et je continuerai à l'utiliser à moins que je ne dise à Composer de mettre à jour la dépendance.
Cela a l'avantage par rapport au simple téléchargement et à l'inclusion de nusoap car je peux utiliser composer update pour mettre à jour toutes mes dépendances sans avoir besoin d'aller voir s'il y a des mises à jour et de les télécharger manuellement dans mon projet. Composer prend en charge la gestion des ressources à ce niveau.
Premiers pas avec Composer
L'installation de composer est assez simple.
Sous Windows
Si vous êtes sous Windows, un programme d'installation est fourni pour simplifier le processus. Il installera la dernière version de Composer et la rendra accessible globalement pour vos projets.
Linux/Unix/macOS
Sur chacune de ces plates-formes, vous avez quelques étapes supplémentaires pour obtenir la configuration de Composer. Pour commencer, exécutez les commandes nécessaires pour télécharger Composer et le configurer.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3 'installeur vérifié'; } else { echo 'Installateur corrompu' ; unlink('composer-setup.php'); } echo PHP_EOL ; »
php composer-setup.php
php -r "unlink('composer-setup.php');"
Ensuite, vous voudrez exécuter Composer globalement pour le développement local. Nous devrons donc ajuster l'installation par défaut pour nous assurer qu'elle est disponible chaque fois que nous voulons utiliser Composer. Vous pouvez déplacer Composer pour qu'il soit disponible dans le monde entier avec la commande suivante exécutée à partir du même répertoire que celui à partir duquel vous venez de télécharger Composer.
mv composer.phar /usr/local/bin/composer
Mise à niveau de Compositeur
Sous Windows et macOS, tout ce que vous avez à faire pour mettre à niveau vers la dernière version de Composer est d'exécuter la mise à jour automatique du compositeur. Si vous êtes sous Linux/Unix, vous devrez exécuter sudo apt update && upgrade pour que votre système vérifie les dernières versions, puis vous pouvez exécuter composer self-update pour obtenir la dernière version.
Maintenant que vous êtes configuré, examinons comment utiliser Composer pour installer WordPress.
Installer WordPress avec Composer
Qu'en est-il si vous souhaitez gérer un site entier avec Composer ? Tout d'abord, vous devez décider si WordPress est la dépendance du projet ou le cœur du projet ? Ouais, un peu de cerveau.
WordPress peut être considéré comme une dépendance du projet car l'objectif final pour vos clients n'est pas d'installer WordPress. Ils veulent un magasin ou un blog et cela dépend de votre installation de WordPress. C'est la position qu'un projet comme Roots adopte avec sa configuration Bedrock WordPress basée sur Composer appelée Bedrock.
L'utilisation de Bedrock signifie que vous n'avez pas à parler de WPackagist à Composer car il est déjà configuré. C'est là que je vous recommande de commencer si vous cherchez à gérer un site entier avec Composer.
Pour installer Bedrock, exécutez la commande suivante.
compositeur créer-projet racines/socle rocheux
Cela vous donnera la structure de fichier suivante.
├── composer.json
├── .env
├── configuration
│ ├── application.php
│ └── environnements
│ ├── développement.php
│ ├── mise en scène.php
│ └── production.php
├── vendeur
└── internet
├── application
│ ├── plugins mu
│ ├── plugins
│ ├── thèmes
│ └── téléchargements
├── wp-config.php
├── index.php
└── wp
Ceci est très différent de la configuration standard de WordPress. Pour commencer vous avez votre fichier composer.json à la racine de l'installation. C'est là que vous verrez votre configuration Composer.
Votre fichier .env est l'endroit où vous pouvez stocker les différentes configurations de base de données. Cela est nécessaire car votre site local et votre site en direct auront des mots de passe et des noms d'utilisateur différents. Le fichier wp-config.php par défaut comprendra les variables que vous mettez dans votre fichier .env car Bedrock utilise ces variables au lieu de coder en dur dans les informations de connexion à la base de données.
Votre fichier .env doit être ignoré dans votre référentiel Git. Lorsque vous configurez un nouveau site, vous y ajoutez un nouveau fichier .env avec les informations de configuration de base de données requises.
Il y a quelques autres variables que vous devez configurer ici pour démarrer Bedrock, qui sont toutes détaillées dans leur documentation.
Sous le dossier config se trouvent différentes configurations par défaut pour les environnements que vous utiliserez. En développement, cela active le rapport d'erreurs, et dans vos environnements de production, cela garantit que la journalisation des erreurs n'interférera pas avec le bon fonctionnement de votre site.
Avec Bedrock comme base, vous pouvez maintenant utiliser Composer pour installer vos plugins WordPress via WPackagist.
WPackagist est un miroir du référentiel de thèmes et de plugins WordPress. Ceci est nécessaire car, par défaut, la plupart des plugins et des thèmes ne sont pas disponibles pour l'installation de Composer. Le miroir ajoute les fichiers requis pour chaque plugin afin que Composer puisse être utilisé pour gérer les plugins.
Si vous souhaitez installer WooCommerce dans votre installation WordPress basée sur Bedrock, vous devez d'abord exiger WooCommerce, le compositeur a besoin de wpackagist-plugin/woocommerce, puis vous devez dire à Composer d'installer les dépendances, composer install.
Vous pouvez maintenant accéder à la zone d'administration de votre installation WordPress, activer WooCommerce et créer votre site. Pour mettre à jour WooCommerce lorsqu'une nouvelle version sort, ou pour mettre à jour WordPress, vous devez exécuter la mise à jour du compositeur.
C'est là qu'un projet basé sur Composer peut avoir quelques problèmes. Si vous exécutez vos mises à jour via l'administrateur WordPress, vous aurez un décalage entre ce que Composer attend et ce que WordPress a installé. Si vous allez utiliser Composer, continuez à l'utiliser comme outil de mise à jour et ne travaillez pas via l'administrateur WordPress.
Quand utiliser Composer ?
Je suis sûr que beaucoup d'entre vous demandent pourquoi Composer est un si bon outil pour le développement WordPress. WordPress n'a pas été construit avec Composer à l'esprit, donc pour travailler avec lui, vous devez sauter à travers quelques cerceaux pour le faire fonctionner correctement.
Pour les développeurs de plugins et de thèmes, il est clair que Composer peut faciliter la gestion des dépendances que vous devez apporter à partir de l'écosystème PHP au sens large. Pour les développeurs WordPress, l'argument est moins clair. Certains aiment utiliser Composer pour gérer l'ensemble de leur site comme le fait Roots. Cela peut vous permettre d'avoir moins de fichiers gérés par Git, mais cela ne m'a jamais semblé être un cas convaincant.
Le cas que j'aime est que Composer peut faciliter l'utilisation de différentes dépendances pour différents environnements. Vous pouvez ensuite utiliser votre processus de déploiement pour déployer ces dépendances dans vos environnements sans avoir à les gérer manuellement.
En tant que développeur, vous devez également tenir compte des besoins de votre client. S'ils n'ont pas d'équipe de développement autour pour gérer le site à long terme, ils peuvent rencontrer des problèmes avec une installation WordPress non standard. Dans certains cas, leurs hôtes peuvent leur dire que le support n'est pas disponible car ils n'utilisent pas la méthode normale d'installation et d'utilisation de WordPress. Lorsque vous servez des clients, vous devez toujours équilibrer la technologie cool que vous utilisez avec ce que le client peut gérer à long terme.
Pour cette seule raison, je n'utilise pas Composer dans mes projets de site complet. Mes clients vont les gérer au jour le jour pendant des années et je ne veux pas ériger d'obstacles supplémentaires. Nous voulons tous les deux que leurs sites fonctionnent bien pour les années à venir.
Si vous cherchez à mettre à niveau vos compétences PHP avec des technologies modernes, vous devriez certainement jeter un coup d'œil à la façon dont Composer peut s'intégrer à vos flux de travail WordPress.