Volver a la página principal
martes 3 diciembre 2024
7

Cómo usar scripts personalizados en Composer

Composer permite definir y ejecutar scripts personalizados para automatizar tareas comunes en un proyecto PHP, como la limpieza de cachés, pruebas, despliegue, entre otros. Estos scripts se especifican en el archivo composer.json y pueden ejecutarse fácilmente desde la terminal.

¿Qué son los scripts en Composer?

Los scripts en Composer son comandos personalizados que se configuran en el archivo composer.json bajo la sección scripts. Estos scripts pueden ejecutar comandos de Composer, comandos del sistema o scripts PHP definidos en el proyecto.

Configuración de scripts en composer.json

Para añadir scripts personalizados, edita el archivo composer.json y agrega una sección scripts. A continuación, se muestra un ejemplo básico:

{
  "scripts": {
    "test": "phpunit",
    "cache-clear": "rm -rf var/cache/*",
    "start-server": "php -S localhost:8000 -t public"
  }
}

En este ejemplo:

  • test ejecutará PHPUnit para las pruebas.
  • cache-clear elimina el contenido de la carpeta var/cache.
  • start-server inicia un servidor PHP local en el puerto 8000.

Cómo ejecutar un script personalizado

Una vez definidos los scripts en el archivo composer.json, puedes ejecutarlos con el siguiente comando:

composer run-script <nombre-del-script>

Por ejemplo:

composer run-script cache-clear

También puedes usar el alias:

composer cache-clear

Ejemplo avanzado: Integración de múltiples comandos

Puedes combinar múltiples comandos en un solo script. Por ejemplo:

{
  "scripts": {
    "deploy": [
      "composer install",
      "composer cache-clear",
      "php artisan migrate --force"
    ]
  }
}

Al ejecutar composer deploy, se ejecutarán los comandos en el orden especificado.

Tabla de comandos relacionados

Comando Descripción
composer run-script <script> Ejecuta un script definido en composer.json.
composer list Lista los scripts disponibles en el proyecto.
composer run-script --timeout=n Especifica un límite de tiempo para el script.

Ejemplo práctico

Supongamos que necesitas limpiar la caché y generar un archivo de autoload después de instalar las dependencias. Configura los scripts así:

{
  "scripts": {
    "post-install-cmd": [
      "composer dump-autoload",
      "composer cache-clear"
    ]
  }
}

El script post-install-cmd se ejecutará automáticamente después de que se complete el comando composer install.

Referencia oficial

Para más información, consulta la sección de scripts en la documentación oficial de Composer.

Etiquetas:
php composer
Compartir:
Creado por:
Author photo

Jorge García

Fullstack developer