Nette Code Checker
Code Checker comprueba sus archivos fuente en busca de defectos formales como un BOM invisible, caracteres de control, codificación dañada o sintaxis inválida de archivos PHP, Latte, NEON y JSON, y puede corregirlos automáticamente.
Instalación
Instálelo globalmente con Composer:
composer global require nette/code-checker
Asegúrese de que el directorio bin global de Composer está en su $PATH. El comando code-checker estará
entonces disponible desde cualquier sitio, en cualquier sistema operativo.
Como alternativa, instálelo como proyecto independiente:
composer create-project nette/code-checker
Requiere PHP 8.0 o superior.
Uso
De forma predeterminada, Code Checker se ejecuta en modo de solo lectura y únicamente informa de los problemas que encuentra:
code-checker
Para reparar realmente los archivos, añada --fix. Haga antes una copia de seguridad de sus archivos,
o ejecútelo sobre un árbol de trabajo limpio para poder revisar después los cambios con git diff:
code-checker --fix
Puede limitar el análisis a una ruta concreta, saltarse archivos o ejecutar comprobaciones más rápidas de solo sintaxis:
code-checker -d src --ignore "temp/*"
code-checker --only-syntax
En modo de solo lectura, la herramienta termina con el código 0 cuando todo está bien y con 1
cuando encuentra algún error o algo que se pueda corregir, así que encaja bien en las pipelines de CI.
Lista completa de opciones:
Usage: code-checker [options]
Options:
-d <path> Folder or file to scan (default: current directory)
-i | --ignore <mask> Files to ignore
-f | --fix Fix the files
-l | --eol Normalize line endings to the system default
--only-syntax Check syntax only (faster)
--no-progress Do not show progress dots
--version Show version
Qué hace Code Checker
- comprueba la sintaxis de las plantillas de Latte y de los archivos
.php,.neony.json - elimina el BOM
- verifica que los archivos son UTF-8 válido
- comprueba si hay caracteres de control
- detecta comentarios phpDoc mal formados (p. ej.
/* @varen lugar de/** @var) - informa de los archivos PHP a los que les falta la declaración
declare(strict_types=1) - exige tabuladores para la indentación en los archivos PHP, CSS, JS y TS, y espacios en YAML
- elimina los espacios en blanco finales y las líneas vacías al final de los archivos
- normaliza los finales de línea al valor predeterminado del sistema (con el parámetro
-l)