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.
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.
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.
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
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.
| 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. |
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.
Para más información, consulta la sección de scripts en la documentación oficial de Composer.
Jorge García
Fullstack developer