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

 

 

 

  • 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?

Made with Slides.com