Upload
ismael-ambrosi
View
130
Download
3
Tags:
Embed Size (px)
Citation preview
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:\Users\username>cd C:\binC:\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": "[email protected]" } ], "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
Versiones1.0.5 : Versión exacta
Monday, September 16, 13
Versiones1.0.5 : Versión exacta
1.0.* : Significa cualquier versión dentro de la rama 1.0
Monday, September 16, 13
Versiones1.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
Versiones1.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
Versiones1.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
Versiones1.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
Versiones1.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 repositorios VCS
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