Un poco acerca de mí. . .
Sagrario Meneses
Senior Software Engineer
@sagmmd
@rasmus
1994 Personal Home Page - Tools
1995 PHP: Hypertext Preprocessor
PHP 7.3.4
04 Apr 2019
Y con ustedes nuestros héroes...
¿Qué es composer?
- Es un manejador de dependencias.
- Por proyecto.*
-
Inspirado en:
- NPM (NodeJs)
- Bundler (Ruby)
-
Parecido a:
- Ant (Java)
- Maven (Java)
- Pip (Python)
- Requiere PHP 5.3.2+
Abril 2011 -> Marzo 2012
Composer es una herramienta para gestión de dependencias en PHP. Te permite declarar las bibliotecas de las que depende tu proyecto y las administrará (instalará / actualizará) por ti.
Ventajas
-
Repositorio de código organizado en paquetes (https://packagist.org/).
-
Gestión de dependencias (instalamos un paquete y Composer se encarga de instalar las dependencias).
Ventajas
-
Facilidad para instalar versiones específicas de paquetes y versiones selectivas.
-
Facilidad para actualizar los paquetes instalados y sus dependencias.
Ventajas
-
No reinventamos la rueda.
Instalación
https://getcomposer.org/doc/00-intro.md
$ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
$ php composer-setup.php
$ php -r "unlink('composer-setup.php');"
$ mv composer.phar /usr/local/bin/composer
Comandos
$ composer self update
$ composer init
{
"name": "smmd/test",
"require": {
"guzzlehttp/guzzle": "^6.3"
},
"require-dev": {
"phpunit/phpunit": "^7.5"
},
"authors": [
{
"name": "Sagrario Meneses",
"email": "sagrario.meneses@gmail.com"
}
]
}
Comandos
$ composer search <dependency name>
$ composer require package/dependency-name
$ composer update author-name/library-name
Comandos
$ composer install
$ composer update
gitignore
¡Una ventaja más!
-
Te permite utilizar repositorios locales.
{
"name": "smmd/test",
"require": {
"smmd/test-package": "^1.0"
},
"repositories": [
{
"type": "vcs",
"url": “/full/path/to/the/local/smmd/test-package"
},
"authors": [
{
"name": "Sagrario Meneses",
"email": "sagrario.meneses@gmail.com"
}
]
}
Fuentes
-
https://getcomposer.org/
-
https://packagist.org/
-
http://naderman.de/
-
http://nelm.io/jordi
¡ G R A C I A S !
¿PREGUNTAS?
Composer
By smmd
Composer
- 181