Magento N98 Magerun es una herramienta desarrollada por Netz98 que proporciona numerosas funcionalidades enfocadas a facilitar el desarrollo en Magento, complementando las facilitadas por el ya conocido comando “bin/magento”.
A continuación veremos como instalar esta herramienta y cuales son algunas de sus funcionalidades más útiles a la hora de desarrollar con Magento.
Instalación de N98
Para la instalación de la herramienta en sistemas Linux, debemos lanzar los siguientes comandos para descargar el paquete “n98-magerun2.phar” y moverlo al directorio de binarios del sistema:
wget https://files.magerun.net/n98-magerun2.phar
chmod +x ./n98-magerun2.phar
sudo mv ./n98-magerun2.phar /usr/local/bin/
Tras esto, podremos lanzar el siguiente comando para listar todas las opciones que ofrece la herramienta:
n98-magerun2.phar list
Consola de desarrollo
Una de las opciones más interesantes que ofrece la herramienta es su consola de desarrollo interactiva que permite realizar pruebas de código, instanciando cualquier clase y lanzando sus funciones.
A la hora de lanzar la consola, podemos definir el área de ejecución de Magento a simular (frontend, adminhtml, crontab, webapi_rest, webapi_xml, graphql):
n98-magerun2.phar dev:console [--area=AREA]
El comando anterior abrirá una consola interactiva donde podremos lanzar cualquier función PHP e incluso aquellas definidas globalmente en Magento, como la función de traducción de literales.
El modo de instanciar una clase es utilizar la variable $di, que vendrá automáticamente cargada con una instancia del ObjectManager de Magento. Por ejemplo:
$productRepository = $di->create('\Magento\Catalog\Api\ProductRepositoryInterface');
Consola de desarrollo: Ejemplo de uso
A continuación se muestra un ejemplo real del uso de la consola de desarrollo de N98, en el que se instancia el CustomerRepository para obtener un cliente concreto y mostrar su nombre:
Creación de nuevos módulos
La herramienta N98 tambien permite la creación ágil de módulos, construyendo el esqueleto de directorios y ficheros necesarios mediante el comando “dev:module:create”.
Por ejemplo, el lanzamiento del siguiente comando creará un nuevo módulo “Dabad_Test” :
n98-magerun2.phar dev:module:create --author-name "David Abad" --author-email "[email protected]" --description "Descripcion de módulo" Dabad Test
Consulta de información
La herramienta N98 incluye múltiples comandos destinados a la consulta de información de Magento:
Listar módulos
n98-magerun2.phar dev:module:list
Listar usuarios administradores
n98-magerun2.phar admin:user:list
Listar clientes
n98-magerun2.phar customer:list
Listar información de cliente
n98-magerun2.phar customer:info [email]
Listar stores
n98-magerun2.phar sys:store:list
Listar websites
n98-magerun2.phar sys:website:list
Listar información del sistema
n98-magerun2.phar sys:info
Listar observers
n98-magerun2.phar dev:module:observer:list
Operar con base de datos
La herramienta N98 también permite operar con la base de datos de Magento, permitiendo operaciones como lanzar consultas directas a base de datos o realizar copias de seguridad, sin necesidad de indicar los detalles de la conexión (host, usuario, password, etc.):
n98-magerun2.phar db:query "select * from store"
n98-magerun2.phar db:dump ./mi-backup.sql
Creación de fichero env.php
Otro comando útil incluido en N98 es un asistente de configuración de Magento. Al lanzarlo, se irán solicitando los diferentes parámetros de configuración, dando como resultado la creación del fichero app/etc/env.php:
n98-magerun2.phar config:env:create