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