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?...
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% P...
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% P...
• Gestor de dependencias para PHP
• Basado NPM y Bundler
• Considerada una versión actualizada y
mejorada de PEAR
• 100% P...
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. ...
¿Cómo se instala?
Por proyecto
$ curl -sS https://getcomposer.org/installer | php
Global
$ sudo mv composer.phar /usr/loca...
¿Cómo se instala?
Instalador
https://getcomposer.org/Composer-Setup.exe
Manual
C:Usersusername>cd C:bin
C:bin>php -r "eval...
composer.json
{
"name": "ismael/mi-proyecto",
"description": "Una simple descripción",
"require": {
"symfony/console": "v2...
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, Septemb...
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al ...
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al ...
composer.lock
• Bloquea el proyecto a versiones específicas
• Creado al instalar dependencias(si no existe)
• Modificado al ...
¿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
• co...
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 en...
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 en...
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 en...
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 en...
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 en...
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, ...
Repositorios
https://packagist.org/
•Está abierto a todo projecto Open Source
•Una base de datos de librerías PHP
•Se alim...
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, Sep...
Repositorios
https://github.com/composer/satis
•Generador de micro repositorios
•Ideal para proyectos privados
•Facil de u...
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
Upcoming SlideShare
Loading in …5
×

Introducción a composer

480 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
480
On SlideShare
0
From Embeds
0
Number of Embeds
26
Actions
Shares
0
Downloads
9
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introducción a composer

  1. 1. Monday, September 16, 13
  2. 2. ¿Que es? Monday, September 16, 13
  3. 3. • Gestor de dependencias para PHP ¿Que es? Monday, September 16, 13
  4. 4. • Gestor de dependencias para PHP • Basado NPM y Bundler ¿Que es? Monday, September 16, 13
  5. 5. • Gestor de dependencias para PHP • Basado NPM y Bundler • Considerada una versión actualizada y mejorada de PEAR ¿Que es? Monday, September 16, 13
  6. 6. • 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
  7. 7. • 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
  8. 8. • 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
  9. 9. No es un gestor de paquetes Monday, September 16, 13
  10. 10. 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
  11. 11. ¿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
  12. 12. ¿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
  13. 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
  14. 14. composer.lock Monday, September 16, 13
  15. 15. composer.lock • Bloquea el proyecto a versiones específicas Monday, September 16, 13
  16. 16. composer.lock • Bloquea el proyecto a versiones específicas • Creado al instalar dependencias(si no existe) Monday, September 16, 13
  17. 17. composer.lock • Bloquea el proyecto a versiones específicas • Creado al instalar dependencias(si no existe) • Modificado al actualizar dependencias Monday, September 16, 13
  18. 18. 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
  19. 19. 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
  20. 20. ¿Cómo lo uso? Monday, September 16, 13
  21. 21. ¿Cómo lo uso? Instalación Monday, September 16, 13
  22. 22. ¿Cómo lo uso? Monday, September 16, 13
  23. 23. ¿Cómo lo uso? Actualización Monday, September 16, 13
  24. 24. ¿Cómo lo uso? Actualización de una dependencia Monday, September 16, 13
  25. 25. ¿Cómo lo uso? Otras functionalidades • composer init • composer require • composer create-project • composer validate • composer self-update Monday, September 16, 13
  26. 26. Versiones Monday, September 16, 13
  27. 27. Versiones 1.0.5 :Versión exacta Monday, September 16, 13
  28. 28. Versiones 1.0.5 :Versión exacta 1.0.* : Significa cualquier versión dentro de la rama 1.0 Monday, September 16, 13
  29. 29. 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
  30. 30. 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
  31. 31. 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
  32. 32. 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
  33. 33. 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
  34. 34. Flags Definen la estabilidad deseada para la dependencia a instalar dev, alpha, beta, RC, stable Monday, September 16, 13
  35. 35. 1.0.*@dev >=1.0@RC,<2.2@beta ~1.1@RC ~1.2@alpha Flags Ejemplos Monday, September 16, 13
  36. 36. Repositorios Monday, September 16, 13
  37. 37. Repositorios https://packagist.org/ Monday, September 16, 13
  38. 38. Repositorios https://packagist.org/ •Está abierto a todo projecto Open Source Monday, September 16, 13
  39. 39. Repositorios https://packagist.org/ •Está abierto a todo projecto Open Source •Una base de datos de librerías PHP Monday, September 16, 13
  40. 40. 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
  41. 41. Repositorios https://github.com/composer/satis Satis Monday, September 16, 13
  42. 42. Repositorios https://github.com/composer/satis •Generador de micro repositorios Monday, September 16, 13
  43. 43. Repositorios https://github.com/composer/satis •Generador de micro repositorios •Ideal para proyectos privados Monday, September 16, 13
  44. 44. Repositorios https://github.com/composer/satis •Generador de micro repositorios •Ideal para proyectos privados •Facil de usar Monday, September 16, 13
  45. 45. Mas información http://getcomposer.org Monday, September 16, 13
  46. 46. ¿Symfony? Monday, September 16, 13
  47. 47. php composer.phar create-project symfony/framework-standard-edition path/to/install 2.3.4 Monday, September 16, 13
  48. 48. ¿Preguntas? Monday, September 16, 13
  49. 49. ¡Gracias! Monday, September 16, 13

×