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, .neon.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. /* @var en 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)