Compositeur pour WordPress, partie 1
D’accord, donc après avoir parcouru toutes les différentes bibliothèques qui peuvent aider à améliorer la qualité du code de votre travail, cela soulève toujours une question :
Comment pouvons-nous faire fonctionner ces projets par rapport à notre base de code ?
En bref, cela nécessite Composer. Si vous ne l’avez jamais utilisé, j’ai déjà écrit brièvement à ce sujet, mais j’ai l’intention de fournir les bases de ce dont vous avez besoin pour commencer à l’utiliser et les bibliothèques susmentionnées dans votre travail.
Dans cet article et dans le suivant, je vais partager comment tout configurer localement sous la forme la plus basique, puis comment il s’intègre à Git afin que vous puissiez commencer à l’utiliser au quotidien.
Configuration de Composer pour WordPress
Il y a beaucoup d’informations qui peuvent (et je dirais qu’elles devraient aller dans un fichier pour Composer). Cela inclut des éléments tels que les informations sur l’auteur, le PSR, les informations, etc. Mais cela dépasse vraiment le cadre de cet article. Au lieu de cela, je souhaite partager le strict minimum nécessaire pour obtenir ces informations configurées et configurées.
Un exemple de répertoire
Supposons que, pendant un instant, vous êtes sur le point de commencer à travailler sur un plugin ou quelque chose lié à WordPress qui nécessitera les différentes bibliothèques discutées dans la série précédente. Et lors de la configuration du répertoire pour cela, vous aurez très peu de fichiers. Peut-être quelques fichiers PHP vides, des ressources, etc. Cela ressemblera peut-être à ceci :
Certes, l’exemple ci-dessus est déjà un peu en avance sur ce à quoi votre travail pourrait ressembler car :
- Il existe un
composer.lockfichier montrant que Composer a été exécuté, - Il a un
vendorrépertoire qui montre que les bibliothèques ont été installées via Composer, - Il existe un
grumphp.ymlfichier qui définit comment GrumPHP devrait fonctionner (et je couvrirai cela plus tard) lors de la détection de code.
Mais l’essentiel de ce qui précède est le même : vous avez composer.jsonet il définit et inclut tout ce dont nous avons besoin en fonction du message précédent. Alors, comment le mettons-nous en place ?
Configuration du compositeur
Tout d’abord, vous devez avoir une idée de la façon dont vous allez structurer votre plugin. Par exemple, j’ai une configuration de plugin comme ceci:
- Tous les fichiers PHP résident dans le
srcrépertoire, - Tous les fichiers CSS, JavaScript, images, etc., sont dans le
assetsrépertoire, - Le
vendorrépertoire est pour les choses qui sont installées via Composer, viewsest ce qui est utilisé dans le front-end du projet.
Par exemple:
Deuxièmement, dans le répertoire en question, vous voudrez créer un fichier appelé composer.json. Cela peut être fait via Terminal en émettant simplement une touch commande, ou vous pouvez le créer dans votre IDE.
La chose importante à retenir de cela est qu’il existe un src répertoire car c’est le répertoire qui contient nos fichiers PHP et c’est le répertoire que nous voulons avoir reniflé.
Un fichier de composition de base
Cela dit, voici un composer.jsonfichier de base que vous pouvez utiliser dans vos projets basés sur la série précédente et sur la base de ce qui est partagé ci-dessous :
{
"name": "pressware/demo-wordpress-plugin",
"description": "This file is used to show how to configure a WordPress plugin using Composer.",
"autoload": {
"psr-4": {
"Pressware": "src/"
}
},
"require-dev": {
"phpro/grumphp": "^0.11.6",
"phpmd/phpmd": "^2.6",
"phpunit/phpunit": "5.7.21",
"nikic/php-parser": "^3.0",
"sebastian/phpcpd": "^3.0",
"povils/phpmnd": "^1.1",
"squizlabs/php_codesniffer": "^3.0",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"sensiolabs/security-checker": "^4.0"
}
}
En regardant le fichier ci-dessus, voici comment l’analyser :
- Les lignes 2 et 3 donnent une petite description de ce qu’est le plugin. Ce sont également d’autres domaines dans ce dossier pour donner plus d’informations sur ce qui doit être fait.
- Les lignes 4 à 8 sont importantes car elles expliquent que nous utilisons PSR-4 pour le chargement automatique et que tous les fichiers relèvent de l’espace de noms de niveau supérieur de
Presswareet que les fichiers PHP se trouvent dans lesrcrépertoire. - Les lignes 9 à 18 couvrent tous les fichiers couverts dans la série précédente.
Ensuite, lancez la commande suivante dans votre terminal :
$ composer install
Et cela installera ces packages.
Qu’en est-il des commits ?
Pour vous assurer que vous supprimez et gérez correctement les commits, il est important que vous configuriez GrumPHP afin qu’il surveille les fichiers. Mais j’y reviendrai dans le prochain post.
En attendant, c’est peut-être une bonne occasion de configurer un plugin de démonstration et de s’entraîner avec le code ci-dessus. Il peut être difficile de le configurer correctement la première fois. Heureusement, de nombreuses erreurs de sortie sont vraiment faciles à comprendre, il est donc relativement simple de les résoudre.