Skip to main content

gdw:run:function

Rama 4.4.x
Magento 2.4.4+ | PHP 8.1+
Rama 4.x
Magento 2.4.0 a 2.4.3 | PHP 7.4
Rama 3.x
Magento 2.3.x | PHP 7.4

Descripción

Ejecuta un método público sin argumentos obligatorios en clases permitidas.

Sintaxis

php bin/magento gdw:run:function --class="Vendor\\Module\\Model\\Example" --function="execute" --area="frontend"

Parámetros

  • --class requerido: FQCN de clase.
  • --function requerido: método público sin parámetros obligatorios.
  • --area opcional: código de área (frontend, adminhtml, crontab).
  • Valor por defecto de --area: frontend.
  • --help opcional: muestra la ayuda completa del comando, opciones, ejemplos y restricciones dentro del CLI de Magento.

Áreas permitidas

  • frontend
  • adminhtml
  • crontab

Namespaces permitidos

Por seguridad, el comando solo ejecuta clases bajo estos prefijos:

  • GDW\\
  • Magento\\Catalog\\Cron\\

Ejemplos

Ejecutar una clase del ecosistema GDW:

php bin/magento gdw:run:function \
--class="GDW\\Core\\Test\\Index" \
--function="anyFunction"

Ejecutar un cron de Magento Catalog con área administrativa:

php bin/magento gdw:run:function \
--class="Magento\\Catalog\\Cron\\SynchronizeWebsiteAttributes" \
--function="execute" \
--area="adminhtml"

Validaciones importantes

  • Rechaza nombres de clase inválidos.
  • Rechaza clases fuera de namespaces permitidos.
  • Rechaza nombres de método inválidos o mágicos (prefijo __).
  • Rechaza métodos no públicos.
  • Rechaza métodos con parámetros obligatorios.
  • Si el método no existe, termina con error.

Salida del comando

  • Muestra la invocación: Clase::metodo().
  • Muestra tiempo de ejecución.
  • Si el resultado es escalar o null, lo imprime directamente.
  • Si el resultado es complejo, intenta serializarlo en JSON.

Recomendación de uso

Usar con precaución en producción. Antes de ejecutar:

  • Validar que el método sea idempotente.
  • Confirmar que no requiera parámetros obligatorios.
  • Probar primero en un entorno de staging.