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, JSON y YAML, y puede corregirlos automáticamente.

Instalación

Instálelo globalmente mediante Composer:

composer global require nette/code-checker

Asegúrese de que su directorio global bin de Composer esté en su $PATH. El comando code-checker estará entonces disponible desde cualquier lugar, en cualquier sistema operativo.

Alternativamente, instálelo como un 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 solo informa de los problemas que encuentra:

code-checker

Para reparar realmente los archivos, añada --fix. Haga primero 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, omitir archivos o ejecutar comprobaciones más rápidas solo de sintaxis:

code-checker -d src --ignore "temp/*"
code-checker --only-syntax

En el modo de solo lectura la herramienta finaliza con el código 0 cuando todo está bien y 1 cuando se encuentra algún problema, por lo que encaja perfectamente en los 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 Latte y de los archivos .php, .neon.json
  • elimina el BOM
  • verifica que los archivos sean UTF-8 válido
  • comprueba la presencia de caracteres de control
  • detecta comentarios phpDoc mal formados (p. ej. /* @var en lugar de /** @var)
  • impone tabuladores para la sangría en archivos PHP, CSS, JS y TS, y espacios en YAML
  • elimina los espacios finales y las líneas en blanco al final de los archivos
  • normaliza los separadores de línea a los del sistema (con el parámetro -l)