Hace un tiempo os hablé de composer. Dentro de composer se pueden añadir unos scripts que se pueden asociar a un determinado evento para que sean ejecutados por necesidades de nuestro proyecto.
En este post explico como crear scripts en composer, para automatizar tareas. En términos de composer,puede ser una llamada a un método estático de una clase
Para decirla a composer que scripts hay que durante la ejecución de Composer, hay que añadir una propiedad llamada scripts en el archivo composer.json del proyecto. En esta propiedad se relacionan los eventos de composer con los scripts que se van a ejecutar durante ese evento. Los scripts se indican mediante una cadena de texto o un array, dependiendo de si ejecutas uno o más scripts para ese evento.
Ejemplo de archivo de configuración composer.json con scripts:
{
"scripts": {
"post-update-cmd": "MyVendor\\MyClass::postUpdate",
"post-package-install": [
"MyVendor\\MyClass::postPackageInstall"
],
"post-install-cmd": [
"MyVendor\\MyClass::warmCache",
"phpunit -c app/"
]
}
}
A continuación se muestra un ejemplo de la clase MyVendor\MyScriptsClass definida en el archivo de configuración anterior:
namespace MyVendor;
use Composer\Script\Event;
class MyScriptsClass
{
public static function postUpdate(Event $event)
{
$composer = $event->getComposer();
// ...
}
public static function postPackageInstall(Event $event)
{
$installedPackage = $event->getOperation()->getPackage();
// ...
}
public static function warmCache(Event $event)
{
// ...
}
}
Eventos de Composer