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

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 balasPablo Godel
 
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 poderosaFco Javier Núñez Berrocoso
 
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 PHPConferenceARPablo Godel
 
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ónBiko
 
Firebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishFirebird 1.5-quick start-spanish
Firebird 1.5-quick start-spanishJesus 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

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

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 

Último (20)

PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 

Introducción a composer