Larastan fue creado por Can Vural y Nuno Maduro, el arte fue diseñado por @Caneco, es mantenido por Can Vural y Viktor Szépe y es una extensión PHPStan para Laravel. Larastan se centra en encontrar errores en su código . Detecta clases enteras de errores incluso antes de escribir pruebas para el código.
Si bien, por definición, el "análisis estático" no carga ningún código de su aplicación. Larastan arranca el contenedor de su aplicación, por lo que puede resolver tipos que solo se pueden calcular en tiempo de ejecución. Por eso utilizamos el término "análisis de código" en lugar de "análisis estático".
Versión Laravel | Versión Larastan |
---|---|
< 9 | 1.x |
> 9.0 && <11.15 | 2.x |
11.15+ | 3.0+ |
Requiere:
1 : Primero, puedes usar Composer para instalar Larastan como una dependencia de desarrollo en tu proyecto Laravel:
composer require --dev " larastan/larastan:^3.0 "
¿Usando Larastan para analizar paquetes de Laravel? Es posible que necesite instalar
orchestra/testbench
.
2 : Luego, cree un archivo phpstan.neon
o phpstan.neon.dist
en la raíz de su aplicación. Podría verse así:
includes:
- vendor/larastan/larastan/extension.neon
- vendor/nesbot/carbon/extension.neon
parameters:
paths:
- app/
# Level 10 is the highest level
level: 5
# ignoreErrors:
# - '#PHPDoc tag @var#'
#
# excludePaths:
# - ./*/*/FileToBeExcluded.php
Para conocer todas las opciones disponibles, consulte la documentación de PHPStan: https://phpstan.org/config-reference
3 : Finalmente, puedes comenzar a analizar tu código usando el comando de la consola phpstan:
./vendor/bin/phpstan analyse
Si recibe el error Allowed memory size exhausted
, puede usar la opción --memory-limit
para solucionar el problema:
./vendor/bin/phpstan analyse --memory-limit=2G
Se puede ignorar un error específico ya sea con un comentario de php o en el archivo de configuración:
// @phpstan-ignore-next-line
$ test -> badMethod ();
$ test -> badMethod (); // @phpstan-ignore-line
Al ignorar los errores en el archivo de configuración de PHPStan, se ignoran escribiendo una expresión regular basada en los mensajes de error:
parameters :
ignoreErrors :
- ' #Call to an undefined method .*badMethod()# '
En bases de código más antiguas, puede resultar difícil dedicar tiempo a arreglar todo el código para pasar un nivel alto de PHPStan.
Para solucionar esto, se puede generar un archivo de referencia. El archivo de referencia creará un archivo de configuración con todos los errores actuales, por lo que se puede escribir código nuevo siguiendo un estándar más alto que el código anterior. (Documentos PHPstan)
./vendor/bin/phpstan analyse --generate-baseline
Puede encontrar una lista de reglas configurables específicas de Laravel aquí.
Puede encontrar una lista de las características de Larastan aquí.
Puede encontrar una lista de tipos de PHPDoc específicos de Larastan aquí.
Puede encontrar una lista de parámetros de configuración personalizados que puede usar en su archivo de configuración PHPStan aquí.
Algunas partes de Laravel son actualmente demasiado mágicas para que Larastan/PHPStan las entienda. Enumeramos errores comunes que se deben ignorar; agréguelos según sea necesario
Gracias por considerar contribuir a Larastan. Todas las pautas de contribución se mencionan aquí.
Larastan es un software de código abierto con licencia MIT.