manejo de dependencias
con Composer
Esteban Beltran
@academo
fb.com/academo
Esteban Beltran
- Desarrollador por pasión
- Colaborador ocasional de proyectos libres
- Actualmente desarrollador front end.
- Me encanta Yii!
Creando una aplicación
Al principio esta mi aplicación (o mi idea de aplicación)
Creando una aplicación
Probablemente decidamos usar un framework
Creando una aplicación
Con el tiempo necesitamos más dependencias
Creando una aplicación
Luego esas dependencias necesitan más
dependencias o incluso entre ellas
Composer?
Composer es un manejador de dependencias de PHP
inspirado en npm y Bundler
Que hace?
Es una herramienta que nos permite declarar cuáles
son las librerías de las que depende nuestro proyecto y
las instala por nosotros
Y que pasa con PEAR?
No todas las librerías que se utilizan para desarrollar
están disponibles en PEAR (muchas de ellas en github).
Se instala a nivel de sistema :(
Composer es compatible con PEAR!
Se definen las dependencias
//composer.json
{
"require": {
"twig/twig": "v1.13.2",
"phpmailer/phpmailer": "v5.2.7",
"dompdf/dompdf": "dev-master"
}
}
Versiones de paquetes
//composer.json
{
"require": {
"twig/twig": "v1.13.*",
"phpmailer/phpmailer": "v5.2.7",
"dompdf/dompdf": "*"
}
}
Instalando
(Linux y Mac)
$ cd my-amazing-project
$ curl -s http://getcomposer.org/installer | php
Verificar que esta instalado
php composer.phar
Instalación global?
$ sudo mv composer.phar /usr/bin/composer
Instalando dependencias
Definimos nuestro composer.json
$ php composer.phar install
Por defecto composer instala nuestras
dependencias en el directorio
"vendors"
Cambiar directorio
de instalación
{
"require": {
...
}
"config": {
"vendor-dir":"lib"
}
}
Paquetes disponibles?
Repositorio principal de Composer
¿Que más puedo hacer?
-
Usa diferentes repositorios
-
Publica tus propios paquetes
-
Usa paquetes que no esten en un repositorio
- Scripts post-instalación post-actualización
Más información
Gracias!
@academo
Composer
By Esteban Beltran
Composer
- 646