SlideShare una empresa de Scribd logo
1 de 49
Descargar para leer sin conexión
Monday, September 16, 13
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
• Basado NPM y Bundler
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% PHP
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% PHP
• Utiliza componentes de Symfony
¿Que es?
Monday, September 16, 13
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% PHP
• Utiliza componentes de Symfony
• Herramienta de consola
¿Que es?
Monday, September 16, 13
No es un gestor de
paquetes
Monday, September 16, 13
1. Nuestro proyecto depende de otras librerías
2. Esas librerías dependen de otras librerías
3. Y versiones específicas
4. Resolución de que librerías y versiones se deben instalar
para que funcione nuestro proyecto
¿Que nos soluciona?
Monday, September 16, 13
¿Cómo se instala?
Por proyecto
$ curl -sS https://getcomposer.org/installer | php
Global
$ sudo mv composer.phar /usr/local/bin/composer
Monday, September 16, 13
¿Cómo se instala?
Instalador
https://getcomposer.org/Composer-Setup.exe
Manual
C:Usersusername>cd C:bin
C:bin>php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
Monday, September 16, 13
composer.json
{
"name": "ismael/mi-proyecto",
"description": "Una simple descripción",
"require": {
"symfony/console": "v2.3.4"
},
"require-dev": {
"phpunit/phpunit": "~3.7"
},
"license": "MIT",
"authors": [
{
"name": "Ismael Ambrosi",
"email": "ismaambrosi@gmail.com"
}
],
"minimum-stability": "stable"
}
Monday, September 16, 13
composer.lock
Monday, September 16, 13
composer.lock
• Bloquea el proyecto a versiones específicas
Monday, September 16, 13
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
Monday, September 16, 13
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al actualizar dependencias
Monday, September 16, 13
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al actualizar dependencias
• Debe ser incluído en el control de versiones
Monday, September 16, 13
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al actualizar dependencias
• Debe ser incluído en el control de versiones
•No debe modificarse!
Monday, September 16, 13
¿Cómo lo uso?
Monday, September 16, 13
¿Cómo lo uso?
Instalación
Monday, September 16, 13
¿Cómo lo uso?
Monday, September 16, 13
¿Cómo lo uso?
Actualización
Monday, September 16, 13
¿Cómo lo uso?
Actualización de una dependencia
Monday, September 16, 13
¿Cómo lo uso?
Otras functionalidades
• composer init
• composer require
• composer create-project
• composer validate
• composer self-update
Monday, September 16, 13
Versiones
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
>=1.0,<2.2 : Cualquier versión entro 1.0 y 2.1.999999
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
>=1.0,<2.2 : Cualquier versión entro 1.0 y 2.1.999999
~1.1 : Equivale a >=1.1,<2.0
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
>=1.0,<2.2 : Cualquier versión entro 1.0 y 2.1.999999
~1.1 : Equivale a >=1.1,<2.0
~1.2 : Equivale a >=1.2,<2.0
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
>=1.0,<2.2 : Cualquier versión entro 1.0 y 2.1.999999
~1.1 : Equivale a >=1.1,<2.0
~1.2 : Equivale a >=1.2,<2.0
~1.2@dev : Equivale a >=1.2,<2.0 con estabilidad dev
Monday, September 16, 13
Versiones
1.0.5 :Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
>=1.0,<2.2 : Cualquier versión entro 1.0 y 2.1.999999
~1.1 : Equivale a >=1.1,<2.0
~1.2 : Equivale a >=1.2,<2.0
~1.2@dev : Equivale a >=1.2,<2.0 con estabilidad dev
~1.1.4 : Equivale a >=1.1.4,<1.2
Monday, September 16, 13
Flags
Definen la estabilidad deseada para la dependencia a
instalar
dev, alpha, beta, RC, stable
Monday, September 16, 13
1.0.*@dev
>=1.0@RC,<2.2@beta
~1.1@RC
~1.2@alpha
Flags
Ejemplos
Monday, September 16, 13
Repositorios
Monday, September 16, 13
Repositorios
https://packagist.org/
Monday, September 16, 13
Repositorios
https://packagist.org/
•Está abierto a todo projecto Open Source
Monday, September 16, 13
Repositorios
https://packagist.org/
•Está abierto a todo projecto Open Source
•Una base de datos de librerías PHP
Monday, September 16, 13
Repositorios
https://packagist.org/
•Está abierto a todo projecto Open Source
•Una base de datos de librerías PHP
•Se alimenta de repositoriosVCS
Monday, September 16, 13
Repositorios
https://github.com/composer/satis
Satis
Monday, September 16, 13
Repositorios
https://github.com/composer/satis
•Generador de micro repositorios
Monday, September 16, 13
Repositorios
https://github.com/composer/satis
•Generador de micro repositorios
•Ideal para proyectos privados
Monday, September 16, 13
Repositorios
https://github.com/composer/satis
•Generador de micro repositorios
•Ideal para proyectos privados
•Facil de usar
Monday, September 16, 13
Mas información
http://getcomposer.org
Monday, September 16, 13
¿Symfony?
Monday, September 16, 13
php composer.phar create-project 
symfony/framework-standard-edition 
path/to/install 2.3.4
Monday, September 16, 13
¿Preguntas?
Monday, September 16, 13
¡Gracias!
Monday, September 16, 13

Más contenido relacionado

Similar a Introducción a composer

Firebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishFirebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanish
Jesus Chapo
 

Similar a Introducción a composer (17)

Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP Composer: Gestionando dependencias en PHP
Composer: Gestionando dependencias en PHP
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
 
Sesion3 del Curso de Lliurex
Sesion3 del Curso de LliurexSesion3 del Curso de Lliurex
Sesion3 del Curso de Lliurex
 
Open Build Service
Open Build ServiceOpen Build Service
Open Build Service
 
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
Magallanes, Herramienta de despliegue PHP sencilla y poderosa�Magallanes, Herramienta de despliegue PHP sencilla y poderosa�
Magallanes, Herramienta de despliegue PHP sencilla y poderosa
 
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceARLa Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
La Caja de Herramientas del Desarrollador Moderno PHPConferenceAR
 
Drupal 8: deploy capistrano y gestión de la configuración
Drupal 8: deploy capistrano y gestión de la configuraciónDrupal 8: deploy capistrano y gestión de la configuración
Drupal 8: deploy capistrano y gestión de la configuración
 
Guia postfix
Guia postfixGuia postfix
Guia postfix
 
gns3 y su uso
gns3 y su usogns3 y su uso
gns3 y su uso
 
Despues de instalar fedora 14
Despues de instalar fedora 14Despues de instalar fedora 14
Despues de instalar fedora 14
 
Symfony Parte 2
Symfony Parte 2Symfony Parte 2
Symfony Parte 2
 
Taller Audiovisual 2
Taller Audiovisual 2Taller Audiovisual 2
Taller Audiovisual 2
 
Un arcade en tu palma
Un arcade en tu palmaUn arcade en tu palma
Un arcade en tu palma
 
Backbeam
BackbeamBackbeam
Backbeam
 
Comfusion4
Comfusion4Comfusion4
Comfusion4
 
Firebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishFirebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanish
 
Clase 1 php
Clase 1 phpClase 1 php
Clase 1 php
 

Más de Ismael Ambrosi (6)

Assetic PHPmvd
Assetic PHPmvdAssetic PHPmvd
Assetic PHPmvd
 
Introducción a testing en php
Introducción a testing en phpIntroducción a testing en php
Introducción a testing en php
 
Symfony forms
Symfony formsSymfony forms
Symfony forms
 
Doctrine
DoctrineDoctrine
Doctrine
 
Empezando con Twig
Empezando con TwigEmpezando con Twig
Empezando con Twig
 
Introducción a Symfony
Introducción a SymfonyIntroducción a Symfony
Introducción a Symfony
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
silviayucra2
 

Último (10)

Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 

Introducción a composer