Imagen de Docker que proporciona herramientas de análisis estático para PHP. La lista de herramientas disponibles y el instalador se administran en el repositorio jakzal/toolbox
.
Repositorio de Docker Hub: https://hub.docker.com/r/jakzal/phpqa/
Compilaciones nocturnas: https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
, 1.99
, 1.99.0-debian
, 1.99-debian
(Dockerfile)1.99.0-php8.1
, 1.99-php8.1
, php8.1-debian
, php8.1
(Dockerfile)1.99.0-php8.2
, 1.99-php8.2
, php8.2-debian
, php8.2
(Dockerfile)1.99.0-php8.3
, 1.99-php8.3
, php8.3-debian
, php8.3
(Dockerfile)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
, 1.99-php8.1-alpine
, php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
, 1.99-php8.2-alpine
, php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
, 1.99-php8.3-alpine
, php8.3-alpine
(Dockerfile) Actualizado diariamente: latest
, debian
, alpine
, php8.4
, php8.4-alpine
, etc. Actualizado al cambiar la versión del parche: 1.61
, 1.61-php8.4
, 1.61-php8.4-alpine
, etc. Nunca actualizado: 1.61.0
, 1.61.0-php8.4
, 1.61.0-php8.4-alpine
, etc.
Estas son las etiquetas más recientes para las versiones de PHP que ya no son compatibles:
1.92.7-php8.0
, 1.93-php8.0
, php8.0-debian
, php8.0
(Dockerfile)1.92.7-php8.0-alpine
, 1.93-php8.0-alpine
, php8.0-alpine
(Dockerfile)1.80.0-php7.4
, 1.80-php7.4
, php7.4-debian
, php7.4
(Dockerfile)1.80.0-php7.4-alpine
, 1.80-php7.4-alpine
, php7.4-alpine
(Dockerfile)1.61.2-php7.3
, 1.61-php7.3
, php7.3-debian
, php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
, 1.61-php7.3-alpine
, php7.3-alpine
(alpino/Dockerfile)1.44.0-php7.2
, 1.44-php7.2
, php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
, 1.44-php7.2-alpine
, php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
, 1.26-php7.1
, php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
, 1.26-php7.1-alpine
, php7.1-alpine
(7.1/alpine/Dockerfile) Nombre | Descripción | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|
comportarse | Ayuda a poner a prueba las expectativas empresariales. | ||||
caja | Paquete de aplicaciones rápido y sin configuración con PHAR | ||||
caja-3 | Paquete de aplicaciones rápido y sin configuración con PHAR | ||||
batir | Descubre buenos candidatos para la refactorización | ||||
codecepción | Codeception es un marco de prueba PHP estilo BDD | ||||
compositor | Administrador de dependencias para PHP | ||||
complemento-bin-compositor | Complemento Composer para instalar proveedores de contenedores en ubicaciones aisladas | ||||
compositor-normalizar | Complemento Composer para normalizar archivos Composer.json | ||||
compositor-requiere-verificador | Verifique que no se utilicen símbolos desconocidos en las fuentes de un paquete. | ||||
compositor-require-checker-3 | Verifique que no se utilicen símbolos desconocidos en las fuentes de un paquete. | ||||
compositor-sin usar | Muestra paquetes no utilizados escaneando tu código | ||||
depender | Detecta fallos en tu arquitectura | ||||
detector de desuso | Encuentra usos de código obsoleto | ||||
deptrac | Hace cumplir las reglas de dependencia entre capas de software | ||||
filtro diferencial | Aplica herramientas de control de calidad para ejecutar una única solicitud de extracción | ||||
ecs | Configura y ejecuta comprobaciones estándar de codificación | ||||
infección | Marco de prueba de mutaciones PHP basado en AST | ||||
larastan | Extensión PHPStan para Laravel | ||||
verificador-de-seguridad-php-local | Comprueba las dependencias del compositor en busca de vulnerabilidades de seguridad conocidas. | ||||
pelusa paralela | Comprueba la sintaxis del archivo PHP | ||||
paratest | Pruebas paralelas para PHPUnit | ||||
depender | Herramienta de análisis estático | ||||
parásito | El elegante marco de pruebas de PHP | ||||
fan | Herramienta de análisis estático | ||||
colmena | Entorno de instalación y verificación de PHAR | ||||
reparador de php-cs | Reparador de estándares de codificación PHP | ||||
php-fuzzer | Un fuzzer para PHP, que se puede utilizar para encontrar errores en bibliotecas alimentándoles entradas "aleatorias" | ||||
php-semver-checker | Sugiere una próxima versión según el versionado semántico. | ||||
PHPA | Verificaciones de suposiciones débiles | ||||
phparkitect | Ayuda a poner restricciones arquitectónicas en una base de código PHP. | ||||
PHPAT | Herramienta de prueba de arquitectura fácil de usar | ||||
banco de PHP | Marco de evaluación comparativa de PHP | ||||
phpca | Encuentra el uso de extensiones no integradas | ||||
phpcb | Navegador de código PHP | ||||
phpcbf | Corrige automáticamente las violaciones de los estándares de codificación | ||||
phpcodesniffer-composer-instalación | Fácil instalación de estándares de codificación PHP_CodeSniffer (conjuntos de reglas). | ||||
phpcov | una interfaz de línea de comandos para la biblioteca PHP_CodeCoverage | ||||
phpcpd | Detector de copiar/pegar | ||||
php | Detecta violaciones de estándares de codificación | ||||
auditoría-de-seguridad-phpcs | Encuentra vulnerabilidades y debilidades relacionadas con la seguridad en código PHP | ||||
phpdd | Encuentra el uso de funciones obsoletas | ||||
phpDocumentor | Generador de documentación | ||||
phpinsights | Analiza la calidad, el estilo, la arquitectura y la complejidad del código. | ||||
phplint | Lints archivos php en paralelo | ||||
phploc | Una herramienta para medir rápidamente el tamaño de un proyecto PHP | ||||
phpmd | Una herramienta para encontrar problemas en código PHP | ||||
phpmétricas | Herramienta de análisis estático | ||||
phpmnd | Ayuda a detectar números mágicos. | ||||
phpspec | Marco SpecBDD | ||||
phpstan | Herramienta de análisis estático | ||||
código-prohibido-phpstan | Reglas PHPStan para detectar llamadas a funciones específicas que no desea en su proyecto | ||||
phpstan-beberlei-afirmar | Extensión PHPStan para beberlei/assert | ||||
reglas-deprecación-de-phpstan | Reglas PHPStan para detectar código obsoleto | ||||
doctrina-phpstan | Extensiones de doctrina para PHPStan | ||||
reglas-phpstan-ergebnis | Reglas adicionales para PHPstan | ||||
reglas-de-excepción-de-phpstan | Reglas PHPStan para excepciones marcadas y no marcadas | ||||
phpstan-larastan | Instalación separada de phpstan para larastan | ||||
unidad phpstan-php | Extensiones y reglas de PHPUnit para PHPStan | ||||
phpstan-reglas-estrictas | Reglas extra estrictas y obstinadas para PHPStan | ||||
phpstan-symfony | Extensión Symfony para PHPStan | ||||
phpstan-webmozart-afirmación | Extensión PHPStan para webmozart/assert | ||||
unidad php | El marco de prueba de PHP | ||||
phpunidad-10 | El marco de prueba de PHP (versión 10.x) | ||||
phpunidad-8 | El marco de prueba de PHP (versión 8.x) | ||||
phpunidad-9 | El marco de prueba de PHP (versión 9.x) | ||||
pinta | Reparador de estilo de código PHP obstinado para Laravel | ||||
salmo | Encuentra errores en aplicaciones PHP | ||||
doctrina-del-complemento-de-salmo | Talones para que Psalm entienda mejor la doctrina | ||||
salmo-plugin-phpunit | Complemento de salmo para PHPUnit | ||||
complemento-salmo-symfony | Complemento de salmo para Symfony | ||||
psecio-análisis | Escanea el código en busca de posibles problemas relacionados con la seguridad | ||||
rector | Herramienta para actualizaciones y refactorización de código instantáneas | ||||
verificación-de-compatibilidad-anterior-de-roave | Herramienta para comparar dos revisiones de una API de clase para comprobar si hay interrupciones en BC | ||||
unidad-php simple | Proporciona utilidades para informar pruebas heredadas y el uso de código obsoleto. | ||||
ramita-cs-reparador | Corrige automáticamente los archivos twig siguiendo las reglas estándar de codificación oficiales. | ||||
pelusa de ramitas | Linter independiente cli twig 1.X | ||||
ramita-linter | Linter independiente cli twig 3.X | ||||
ramitas | ¡El estilo de verificación que falta para twig! | ||||
yaml-pelusa | Utilidad de línea de comando compacta para verificar la sintaxis de archivos YAML |
Algunas herramientas no están incluidas en la imagen de la ventana acoplable; para utilizarlas, consulte su documentación:
Nombre | Resumen |
---|---|
analizar | Visualiza métricas y código fuente. |
legado de caja | Versión heredada de la caja |
compositor-normalizar | Complemento Composer para normalizar archivos Composer.json |
patrón de diseño | Detecta patrones de diseño |
pelusa paralela | Comprueba la sintaxis del archivo PHP |
detector-de-acoplamiento-php | Detecta problemas de acoplamiento de código |
formateador de php | Reparador de estándares de codificación personalizados |
phpcf | Encuentra el uso de funciones obsoletas |
phpda | Genera gráficos de dependencia. |
phpdoc-a-typehint | Agrega automáticamente sugerencias de tipo y tipos de retorno basados en PHPDocs |
reglas-phpstan-localheinz | Reglas adicionales para PHPstan |
verificador de seguridad | Comprueba las dependencias del compositor en busca de vulnerabilidades de seguridad conocidas. |
comprobabilidad | Analiza e informa problemas de capacidad de prueba de un código base php. |
Saca la imagen:
docker pull jakzal/phpqa
El comando predeterminado enumerará las herramientas disponibles:
docker run -it --rm jakzal/phpqa
Para ejecutar la herramienta seleccionada dentro del contenedor, deberá montar el directorio del proyecto en el contenedor con -v "$(pwd):/project"
. A algunas herramientas les gusta escribir en el directorio /tmp
(como PHPStan o Behat en algunos casos), por lo que suele ser útil compartirlo entre ejecuciones de Docker, es decir, con -v "$(pwd)/tmp-phpqa:/tmp"
. Si desea poder interrumpir la herramienta seleccionada si tarda demasiado en completarse, puede usar la opción --init
. Consulte la documentación de ejecución de Docker para obtener más información.
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
Es posible que desees modificar este comando según tus necesidades y crear un alias para tu comodidad:
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
Agréguelo a su ~/.bashrc
para que se defina cada vez que inicie una nueva sesión de terminal.
Ahora el comando se vuelve mucho más simple:
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
Para construir la versión alpina:
make build-alpine
Consulte el libro de cocina para obtener más consejos y trucos.
Lea la guía de contribución para saber cómo contribuir a este proyecto. Tenga en cuenta que este proyecto se publica con un Código de conducta para colaboradores. Al participar en este proyecto, usted acepta cumplir con sus términos.