Está en la página 1de 8

Inicio Libros Tutoriales Eventos Foro Buscar

Los scripts de Composer


Los scripts de Composer consisten en callbacks de PHP (definidos como mtodos
estticos) o en comandos ejecutables en la consola. Los scripts son muy tiles para
ejecutar cdigo o comandos propios del paquete durante la ejecucin de Composer.

Ten en cuenta que solamente se ejecutan los scripts del paquete principal, por lo
que los scripts definidos en los archivos composer.json de las dependencias no se
ejecutan.

Eventos de Composer
Los scripts se ejecutan al producirse alguno de los siguientes eventos definidos por
Composer:

pre-install-cmd : se notifica antes de ejecutar el comando install .

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
post-install-cmd : se notifica despus de ejecutar el comando install .

pre-update-cmd : se notifica antes de ejecutar el comando update .

post-update-cmd : se notifica despus de ejecutar el comando update .

pre-package-install : se notifica antes de instalar un paquete.

post-package-install : se notifica despus de instalar un paquete.

pre-package-update : se notifica antes de actualizar un paquete.

post-package-update : se notifica despus de actualizar un paquete.

pre-package-uninstall : se notifica antes de desinstalar un paquete.

post-package-uninstall : se notifica antes de desinstalar un paquete.

pre-autoload-dump : se notifica antes de regenerar la informacin del cargador


automtico de clases, tanto durante la ejecucin de los comandos install / update
como durante la ejecucin del comando dump-autoload .

post-autoload-dump : se notifica despus de regenerar la informacin del cargador


automtico de clases, tanto durante la ejecucin de los comandos install / update
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
como durante la ejecucin del comando dump-autoload .

post-root-package-install : se notifica despus de que se haya instalado el


paquete principal, durante la ejecucin del comando create-project .

post-create-project-cmd : se notifica despus de la ejecucin del comando


create-project .

Creando scripts de Composer


Para ejecutar uno o ms scripts durante la ejecucin de Composer, aade una propiedad
llamada scripts en el archivo de configuracin composer.json del proyecto. El valor
de esta propiedad es un array asociativo que relaciona eventos de Composer con los
scripts que se ejecutan durante ese evento. Los scripts se indican mediante una cadena
de texto o un array, dependiendo de si ejecutas uno o ms scripts para ese evento.

Cuando definas scripts, ten en cuenta que:

Los scripts se ejecutan en el mismo orden en el que se definen (siempre y cuando se


notifique el evento al que estn suscritos).

Si asocias ms de un script a un mismo evento, puedes mezclar indistintamente


open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Si asocias ms de un script a un mismo evento, puedes mezclar indistintamente
callbacks de PHP y comandos de consola.

Las clases que contienen los callbacks deben poder cargarse mediante el sistema de
carga automtica de clases de Composer.

Ejemplo de archivo de configuracin 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 continuacin se muestra un ejemplo de cmo podra ser la clase MyVendor\MyClass


definida en el archivo de configuracin anterior:
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
namespace MyVendor;

use Composer\Script\Event;

class MyClass
{
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)


{
// ...
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
}
}

Cuando se notifica un evento, Composer pasa un objeto de tipo


Composer\Script\Event como primer argumento de tu callback. Este objeto dispone de
varios getters para obtener fcilmente otros objetos tiles:

getComposer() : devuelve una instancia de la clase Composer\Composer .

getName() : devuelve una cadena de texto con el nombre del evento que se ha
notificado.
getIO() : devuelve un objeto que implementa la interfaz
Composer\IO\IOInterface y que permite escribir y leer en la consola de
comandos.

Comentarios

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
Fecha de publicacin
7 de junio de 2013

ETIQUETAS POPULARES
composer css diseo html javascript php programacin sistemas symfony

SUSCRBETE GRATIS

RSS Todos los tutoriales

RSS Tutoriales de diseo

RSS Tutoriales de programacin

3.757
2006-2017 LibrosWeb.es Contacto Novedades Condiciones Privacidad

das online

open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com
open in browser PRO version Are you a developer? Try out the HTML to PDF API pdfcrowd.com

También podría gustarte