Su Código Magento 2 Le Está Costando Más de Lo Que Cree

EasyAudit encuentra los anti-patrones que ralentizan cada solicitud y complican cada actualización. Escanee desde el CLI, CI/CD, o directamente desde su navegador — y deje que el Fixer corrija los problemas automáticamente.

19 Procesadores de Análisis
~455 KB PHAR Independiente
< 2 min Tiempo de Configuración
0 Dependencias
MIT Licencia

El Coste Oculto de los Malos Patrones

La propia documentación de Adobe advierte contra los around plugins y las dependencias de clases concretas. Pero las advertencias no arreglan las bases de código — y el impacto es medible.

Around Plugins: El Asesino Silencioso del Rendimiento

El framework de interceptación de Magento ejecuta aproximadamente 67.000 comprobaciones por carga de página. Cada around plugin añade un callback $proceed() a la pila — trazas más profundas, depuración más difícil y cadenas bloqueadas si nunca se llama a $proceed().

En una sola página de producto, la resolución de plugins por sí sola representa ~160ms de sobrecarga. Eso es más tiempo del que algunas plataformas necesitan para renderizar una página completa.

La solución: si un plugin solo modifica argumentos, debería ser un before. Si solo modifica el valor de retorno, un after. EasyAudit los detecta. El Fixer los reescribe.

Inyección de Clases Concretas: Bomba de Tiempo para Actualizaciones

Adobe garantiza la compatibilidad hacia atrás solo para interfaces marcadas con @api. Cada dependencia de clase concreta es una apuesta desprotegida de que la firma del constructor no cambiará.

Entre Magento 2.4.6 y 2.4.7, el constructor de ProductRepository cambió — rompiendo cada módulo que extendía la clase concreta. Se reportó como un problema P1 en GitHub.

La solución: reemplazar las clases concretas por la interfaz correcta. EasyAudit las detecta en toda su base de código. El Fixer genera los parches.

Proxies Faltantes: Cada Comando Paga el Precio

¿Ejecuta bin/magento cache:flush? Magento instancia todos los comandos registrados con su árbol de dependencias completo primero. Sin proxy = cientos de objetos inútiles en cada llamada CLI.

Multiplique por la frecuencia de cron y el número de comandos personalizados en su proyecto. Esa sobrecarga se ejecuta 24/7, ya sea su comando o no.

La solución: usar proxy para dependencias pesadas en di.xml para que se carguen solo cuando el comando realmente se ejecuta. EasyAudit los detecta. El Fixer genera la configuración.

count() en Colecciones: 50.000 Objetos por Un Solo Entero

Llamar a count($collection) dispara load() — un SELECT * completo que hidrata cada fila en un objeto PHP, solo para contarlas. En un catálogo de 50K, eso es un pico de memoria por un solo número.

getSize() hace el mismo trabajo con un solo SELECT COUNT(*). Sin carga, sin hidratación, sin pico de memoria.

La solución: reemplazar count() por getSize(). EasyAudit encuentra cada ocurrencia. El Fixer las reescribe.

Cómo Funciona

Elija cómo escanear

Gratis
Terminal icon Terminal icon

CLI / Docker

Un comando. Escanee localmente o en su pipeline.

Instalar
Gratis
Git branch icon Git branch icon

GitHub Actions

Escaneos automáticos en cada push, resultados en Code Scanning.

Configurar
créditos
Browser window icon Browser window icon

Escáner Web

Pegue un enlace de Packagist, una URL de repositorio Git o suba un archivo. Sin instalación necesaria.

Iniciar sesión

Luego corrija lo que importa

Ejecute el Fixer en los problemas que elija. Obtenga archivos .patch estándar que puede revisar y aplicar. Eso es todo.

Obtener Créditos para el Fixer
Browser mockup showing the EasyAudit web scanner interface with an input field for a Packagist URL, a drag-and-drop area for archive upload, and a scan button

¿Sin Instalación? No Hay Problema.

Pegue un enlace de Packagist, una URL de repositorio Git público o suba un archivo .zip / .tar.gz. EasyAudit escanea el código en un contenedor seguro y aislado y entrega el mismo informe que el CLI — directamente en su navegador.

Los escaneos web usan créditos. El coste varía según el tamaño del proyecto. Los módulos pequeños cuestan solo unos pocos créditos; las instalaciones completas de Magento cuestan más.

Perfecto para:

  • Evaluar una extensión de terceros antes de instalarla
  • Verificaciones rápidas cuando no tiene Docker o PHP localmente
  • Compartir resultados con un cliente sin pedirle que ejecute nada
Obtenga 10 Créditos Gratis al Registrarse

Lo Que EasyAudit Corrige

Around → Before/After

Around plugins innecesarios que deberían ser before o after

3 créditos

Inyección de Clases Concretas

Dependencias de implementaciones en lugar de interfaces

3 créditos

Uso Directo de ObjectManager

Dependencias ocultas que rompen la inyección de dependencias y la testabilidad

2 créditos

Configuración de Proxy Faltante

Clases pesadas instanciadas donde se debería usar un proxy

1 crédito

Colección Sin Factory

Colecciones creadas sin el patrón factory

1 crédito

Repositorio Sin Interfaz

Clases de repositorio que no implementan su contrato de interfaz

1 crédito

La detección es siempre gratuita a través de CLI y CI/CD. Los créditos se utilizan para la generación automática de parches y para escaneos web. Un crédito = una corrección por archivo.

Parches Automáticos. Control Total.

El Fixer de EasyAudit genera parches diff unificados estándar para cada problema que puede corregir. Ningún código se modifica sin su aprobación explícita.

Cómo funciona:

  1. Ejecute la auditoría (CLI o CI/CD)
  2. Solicite correcciones para los problemas que elija
  3. Revise los archivos .patch generados
  4. Aplique con git apply — listo

Los parches se generan en milisegundos y están adaptados a su base de código. Sin plantillas genéricas, sin copiar y pegar de Stack Overflow.

Code diff view showing a concrete class injection being replaced by an interface, with red deleted lines and green added lines

Integración Nativa con CI/CD

Añada EasyAudit a su pipeline en 5 líneas. Escanee en cada push, muestre los problemas en GitHub Code Scanning y corrija automáticamente con un PR — todo sin salir de su flujo de trabajo.

# .github/workflows/easyaudit.yml
- uses: actions/checkout@v6
- run: |
    docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest \
      scan /workspace --format=sarif --output=/workspace/report.sarif
- uses: github/codeql-action/upload-sarif@v4
  with:
    sarif_file: report.sarif
GitHub pull request showing EasyAudit Code Scanning annotations inline on changed files, highlighting a concrete class injection warning

Precios

La auditoría CLI es gratuita, para siempre. Los créditos se utilizan para la generación automática de parches y escaneos web.

Gratis

€0

10 créditos al registrarse

Pruebe el Fixer en unos pocos archivos

Crear Cuenta

Puntual

€4.99

25 credits

Sin compromiso, compra única

Starter

€2.99/mo

50 credits/mo

Desarrolladores independientes

Suscribirse
Mejor Valor

Pro

€9.99/mo

250 credits/mo

La mayoría de proyectos en un mes

Suscribirse

Agencia

€24.99/mo

1000 credits/mo

Múltiples proyectos de clientes

Suscribirse

Un crédito = una corrección automática por archivo. Los costes de escaneo web varían según el tamaño del proyecto. La detección por CLI/CI es siempre gratuita e ilimitada.

Comience en Menos de 2 Minutos

Usando Docker

docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest scan /workspace
Ver Documentación de Docker →

Usando PHAR

php easyaudit.phar scan /path/to/magento --format=sarif
Descargar desde releases →

Su Base de Código No Se Limpia Sola

Comience con una auditoría gratuita. Vea lo que EasyAudit encuentra. Corrija lo que importa.