Analizador estático de rendimiento para PHP, que es extremadamente fácil de usar. Le ayuda a captar errores comunes en su código PHP.
La forma más sencilla de instalar Phanalist es usar el script de instalación.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | shDescargará automáticamente el ejecutable para su plataforma:
$ ~ /phanalist -V
phanalist 1.0.0También hay varias otras opciones de instalación.
Para analizar las fuentes de su proyecto, solo necesita ejecutar phanalist :
~ /phanalist
En la primera ejecución phanalist.yaml se creará con las configuraciones predeterminadas. Y se reutilizará en todas las siguientes ejecuciones.
También hay algunos parámetros adicionales:
config : ruta al archivo de configuración, ./phanalist.yaml es el valor predeterminado.src : Ruta a las fuentes del proyecto, ./src es el valor predeterminado.output-format : formato utilizado para generar los resultados. Las opciones posibles son text (predeterminados), json y sarif .summary-only : SOLO PROPIEDAD CANTIDADES DE VIOLACIONES DE LA REGLA.quiet : suprime toda la salida.Las posibles opciones son:
enabled_rules contiene la lista de reglas a usar. Todas las reglas se utilizarán si esta lista está vacía.disable_rules contiene la lista de reglas para ignorar.rules .El archivo de configuración predeterminado es:
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 : []Las siguientes reglas están disponibles:
| Código | Nombre | Opciones predeterminadas |
|---|---|---|
| E0000 | Regla de ejemplo | |
| E0001 | Posición de etiqueta de apertura | |
| E0002 | Captura vacía | |
| E0003 | Modificadores de métodos | |
| E0004 | Constantes mayúsculas | |
| E0005 | Nombre de clase capitalizado | |
| E0006 | Modificadores de propiedades | |
| E0007 | Método de los parámetros | check_constructor: true, max_parameters: 5 |
| E0008 | Firma de tipo de retorno | |
| E0009 | Complejidad ciclomática | max_complexidad: 10 |
| E0010 | Complejidad npath | Max_Complexidad: 200 |
| E0011 | Detectar el símbolo de supresión de error (@) | |
| E0012 | Compatibilidad del servicio con el modelo de memoria compartida | incluir_namespaces: ["App Service "], excluir_namespaces: [], reset_interfaces: ["ResetInterface"] |
| E0013 | Método privado que no se utiliza |
Agregar una nueva regla es una tarea simple, y este tutorial explica cómo hacerlo.
Lea una serie de capítulos sobre https://dev.to/denzydldick para comprender las partes internas del proyecto. Es una gran introducción fácil de leer a este proyecto.