Maison >développement back-end >tutoriel php >Détection automatique du code PHP (git/svn intègre PHP_CodeSniffer)

Détection automatique du code PHP (git/svn intègre PHP_CodeSniffer)

不言
不言original
2018-07-06 15:28:362255parcourir

Cet article présente principalement la détection automatique du code PHP (git/svn intègre PHP_CodeSniffer), qui a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Contexte

Lorsque l'entreprise est en développement, chaque fois que le code est soumis à svn ou git, le code sera simplement détecté automatiquement. La logique du code ne peut pas être vérifiée, mais on peut au moins garantir la cohérence du format de codage global. Cette fonction est très utile, j'ai toujours voulu savoir comment elle était implémentée. Ce n'est que récemment que j'ai commencé à comprendre à quoi sert cette détection automatique.

Approche de recherche

  1. Généralement, le document doc de l'entreprise enregistrera la mise en œuvre spécifique d'une certaine fonction de divers systèmes, et il peut y avoir plus d'un document dans le document. document de l'entreprise Diverses recherches par mots clés sur le document n'ont pas permis de trouver des informations pertinentes

  2. J'ai trouvé des collègues du service correspondant pour demander comment il avait été mis en œuvre. Le collègue a répondu qu'il s'agissait de PHP_CodeSniffer et a informé le lien github. Et clairement informé : Documentation ? Impossible. Puis j'ai ajouté, tout est disponible sur Internet

  3. Enfin, j'ai lu quelques articles sur Baidu/Google, et j'ai presque compris

Pratique Une partie de l'installation de

PHP_CodeSniffer Documents de référence

pear install PHP_CodeSniffer
J'ai directement utilisé la méthode poire pour l'installer, ce qui est beaucoup plus simple et plus pratique. La bibliothèque d'extensions installée à l'aide de pear se trouve essentiellement dans le répertoire d'installation de PHP par défaut, comme le mien : /opt/php-7.1.9/lib/php/PHP/CodeSniffer. Vous pouvez vous référer à votre propre répertoire d'installation.

Utilisez PHP_CodeSniffer directement depuis la ligne de commande comme suit :

phpcs test.php
Définissez le format de spécification de code de PHP_CodeSniffer.

# /opt/php-7.1.9/lib/php/PHP/CodeSniffer/src/Standards 
# 这个目录下列出了所有可以设置的格式(PSR1,PSR2,PSR12,Zend,Squiz等)
phpcs --config-set default_standard Zend

installation svn/git

Je n'entrerai pas dans la description ici, car j'ai mis du temps à l'installer sur la machine virtuelle, donc Je fais référence aux informations sur Internet.

Intégrez PHP_CodeSniffer dans git/svn Chaque fois qu'un projet svn est déployé, il y aura un fichier de configuration correspondant, qui contient un dossier hooks et qu'il suffit de pré-valider. ajoutez la commande phpcs au fichier.
Le principe de git est le même, il y a un dossier hooks avec un pré-commit dedans.
Différence : le svn de notre entreprise est automatiquement détecté lors du processus de validation, tandis que git est détecté lors du git push. Je suppose qu'il serait préférable que la détection automatique du code soit intégrée au serveur où se trouve le code d'ingénierie. L'hôte distant est directement accessible lorsque svn s'engage. Cependant, lorsque git commit, le code est enregistré dans la branche locale, et ce n'est que lorsque git push est exécuté qu'il est soumis à l'hôte distant, donc git est une opération de détection automatique effectuée pendant git push.

Écrit à la fin

En comprenant la détection automatique du code PHP, j'ai trouvé de nombreux problèmes.

  1. Je n'ai pas pris l'initiative de réfléchir au problème. Au début, je voulais juste chercher des informations dans la doc au lieu de réfléchir à la façon dont cette fonction est implémentée. Ensuite, je n'ai pas trouvé les informations sur la doc et je suis allé directement chez mes collègues

  2. Lorsque je travaillais sur les besoins de l'entreprise, j'oubliais souvent de continuer à apprendre et à penser à autre chose. Par exemple, de nombreuses commandes Linux ont été oubliées, et la bibliothèque d'extensions PHP_CodeSniffer est très bonne, j'étudierai l'implémentation spécifique quand j'aurai le temps. Besoin de réfléchir fréquemment aux problèmes

  3. Grâce à cette détection automatique de code, j'ai découvert que je ne comprenais rien, y compris pear, PSR, svn/git, yum/apt-get, etc. Même si je l'ai déjà utilisé, je ne l'ai pas étudié en profondeur ni fait d'enregistrements correspondants, donc je l'ai rapidement oublié. Si vous lisez un peu plus, vous vous rendrez compte que vous en savez trop peu

  4. Merci pour les différents matériaux utilisés dans ce processus

Ce qui précède C'est tout le contenu de cet article. J'espère qu'il sera utile à l'étude de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

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