Comment utiliser composer pour appliquer les normes de code dans le développement WordPress
Dans mon dernier article pour Torque, j’ai parlé de la raison pour laquelle je pense que le Code PHP a plus de sens à suivre les normes de codage établies par la communauté PHP que celles établies par WordPress Core. Ces normes sont fondées sur la nécessité de répondre aux besoins des bibliothèques de codes existantes et sont limitées aux caractéristiques linguistiques d’une durée de 10 ans ou plus. Lorsque vous lancez un nouveau plugin, site Web ou application WordPress, si la situation est complètement différente, vous n’avez aucune raison de prendre la même décision. Dans le prolongement de cet article, j’aimerais vous montrer techniquement comment mettre en œuvre et respecter des normes prédéterminées, telles que PSR – 2 ou même les normes de codage WordPress. Vous pouvez le faire avec un outil appelé PHP Code sniffer, et dans cet article, je vais vous montrer comment utiliser cet outil et d’autres outils pour vérifier que votre code suit ces règles et corriger automatiquement la plupart des écarts. De plus, nous allons entrer le Code.
Pourquoi les normes de codage sont – elles importantes? Souvent, lorsque les gens écrivent des normes de codage, ils disent que c’est important parce qu’il rend le code plus lisible et réduit la friction d’avoir plusieurs développeurs dans un projet. C’est vrai, je suis d’accord. Mais ce n’est pas la raison pour laquelle j’aime vraiment imposer et corriger automatiquement les styles de code dans mon code. Je pense qu’il n’est pas nécessaire de s’inquiéter trop du style du Code afin que je puisse attacher moins de lettres à l’écran et me concentrer davantage sur le Code réel. Il n’est pas facile d’écrire du Code, il est utile d’y prêter plus d’attention. Je pense qu’il est vraiment important de penser moins à des choses que je n’ai pas besoin de penser. Par exemple, je pourrais réfléchir à la façon de concevoir une représentation objet d’une requête HTTP. Il existe de nombreuses façons tout à fait efficaces de résoudre ce problème. Au lieu de cela, je suivrai, comme tout le monde, le Protocole établi par la norme PSR – 7.
Il ne s’agit pas seulement de suivre les normes pour des raisons de normes, ce qui en vaut la peine lorsque vous choisissez un cadre pour l’exécution du Code qui n’affecte pas le Code que vous écrivez.
Je n’ai pas l’intention de réécrire WordPress, donc il a été construit pour l’interopérabilité avec le cadre PHP. L’api WordPress rest et le WP – CLI nous permettent de résoudre bon nombre de ces problèmes. Nous parlons plutôt de votre code de site personnalisé ou de votre plug – in. Renifler le Code PHP renifler cherche du Code qui sent mauvais. Le terme « odeur» désigne l’odeur du Code. L’odeur du Code est un motif dans le Code et, si elle est présente, peut indiquer un problème commun dans le Code. Cela ne veut pas dire qu’il ne fonctionne pas, mais ce n’est pas optimal. Une longue leçon, par exemple, est désagréable. Cela ne signifie pas qu’il est négatif, mais pensez à la raison pour laquelle il est si long qu’il pourrait conduire à un code amélioré pour des solutions communes basées sur les problèmes que cette odeur suggère.
Les renifleurs de code nous permettent de \
Voici la commande pour ajouter un renifleur de code au projet en utilisant Composer: composer a besoin de squizlabs \/ php _ codesbuffer – – Dev Notez que j’ai utilisé le drapeau – Dev. Ceci l’ajoute à la section \
Utilisé pour la production ou la publication sans cette dépendance. Maintenant, ajoutez un script nommé \
{Y}
\
\
}
Maintenant, chaque fois que nous lancerons le script is – use \
Dans phpstorm, vous pouvez aller à la section styles de code de vos paramètres. Dans les paramètres PHP, il y a une option appelée set from à droite. Vous verrez PSR – 2 et WordPress comme options. Je suggère qu’on en choisisse un. Le format automatique du Code correspond ensuite aux commandes standard et de nettoyage du Code. Compsoer a besoin d’amis de php \/ php CS fixer Dev, un gadget magique qui résout la plupart des problèmes de code. Sinon, il vous expliquera le problème d’une manière que je pense facile à résoudre. Ajoutons un autre script au fichier composer, un script pour Lint:
{Y}
\
\
\
}
} Notez que je mets tout le Code de chaque tâche dans le script. Vers le Haut
Ensuite, nous ajouterons un script pour appeler les autres dans le bon ordre. Lorsque le renifleur recherche du Code qui pourrait être un problème de maintenance à long terme, lInter cherche des erreurs. Notez que ni l’un ni l’autre n’exécute le Code. Tout le monde n’analyse que le fichier texte où se trouve le Code. Les linteaux ne doivent pas remplacer les essais. Mais j’aime en exécuter un entre mon correctif et le test, de sorte que si j’ai perdu quelque chose de mal, ou si le correctif a causé une erreur, il sera marqué sans exécuter le test et ne réussira en aucun cas.
Voici quelques liens PHP. J’aime Lint parallèle, parce qu’il est plus rapide de traiter plusieurs fichiers à la fois, donc traiter un fichier à la fois. Le nom décrit les avantages. Super spectacle. Installation: le compositeur a besoin de Jakub onderka \/ php Parallel Lint la commande pour lInter est \
\
\
\
\
}
Maintenant que nous avons ces trois scripts, nous pouvons tous les exécuter et ensuite tester phpunit avec une seule commande. Je pense qu’il est important d’exécuter lints et patch avant le test. De cette façon, Nous testons également la correction automatique. Il est douteux que ce processus entraîne des erreurs, mais il est facile de les éviter en les exécutant dans le bon ordre.
Plus important encore, si le Code sent mauvais, il n’est pas prêt pour les tests. Donc, l’ordre dans lequel j’aime faire les choses est de corriger le style de code, effacer les erreurs évidentes dans le Code, vérifier les violations restantes du style de code, et seulement après que le Code est organisé correctement
Te – Rappelez – vous qu’aucun code n’a été réellement exécuté pendant Lint et Fixed – Essayez le code ci – dessous, qui est la dernière partie du script, avec un nouveau script appelé \
{Y}
\
\
\
\
\
}
} J’aime Cette modularité parce que cela signifie que je peux exécuter chaque processus seul, mais la plupart du temps je n’utilise que la commande \