Analyseur statique performant pour PHP, qui est extrêmement facile à utiliser. Il vous aide à attraper des erreurs courantes dans votre code PHP.
La façon la plus simple d'installer le phanaliste consiste à utiliser le script d'installation.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shIl téléchargera automatiquement l'exécutable pour votre plateforme:
$ ~ /phanalist -V
phanalist 1.0.0Il existe également plusieurs autres options d'installation.
Pour analyser vos sources de projet, il vous suffit d'exécuter phanalist :
~ /phanalist
Sur la première exécution, phanalist.yaml sera créé avec les configurations par défaut. Et il sera réutilisé sur toutes les courses suivantes.
Il y a aussi quelques paramètres supplémentaires:
config : Chemin vers le fichier de configuration, ./phanalist.yaml est une valeur par défaut.src : Chemin des sources de projet, ./src est une valeur par défaut.output-format : format utilisé pour produire les résultats. Les options possibles sont text (par défaut), json et sarif .summary-only : Sortie des quantités de violations trouvées pour chaque règle.quiet : supprime toute la sortie.Les options possibles sont:
enabled_rules contient la liste des règles à utiliser. Toutes les règles seront utilisées si cette liste est vide.disable_rules contient la liste des règles à ignorer.rules .Le fichier de configuration par défaut est:
enabled_rules : []
disable_rules : []
rules :
E0007 :
check_constructor : true
max_parameters : 5
E0009 :
max_complexity : 10
E0010 :
max_paths : 200
E0012 :
include_namespaces :
- " App \ Service \ "
- " App \ Controller \ "
exclude_namespaces : []Les règles suivantes sont disponibles:
| Code | Nom | Options par défaut |
|---|---|---|
| E0000 | Exemple de règle | |
| E0001 | Position d'étiquette d'ouverture | |
| E0002 | Prise | |
| E0003 | Modificateurs de méthode | |
| E0004 | Constantes en majuscules | |
| E0005 | Nom de la classe capitalisée | |
| E0006 | Modificateurs de propriété | |
| E0007 | Nombre de paramètres de méthode | check_constructor: true, max_parameters: 5 |
| E0008 | Signature de type retour | |
| E0009 | Complexité cyclomatique | Max_Complexity: 10 |
| E0010 | Complexité du NPATH | Max_Complexity: 200 |
| E0011 | Détecter le symbole de supression d'erreur (@) | |
| E0012 | Compatibilité de service avec modèle de mémoire partagée | include_Namespaces: ["App Service "], exclure_namespaces: [], reset_interfaces: ["resetinterface"] |
| E0013 | Méthode privée n'est pas utilisée |
L'ajout d'une nouvelle règle est une tâche simple, et ce tutoriel explique comment le faire.
Lisez une série de chapitres sur https://dev.to/denzyldick pour comprendre les internes du projet. C'est une excellente introduction facile à lire à ce projet.