Guía básica Composer

Composer es una herramienta para manejar dependencias de PHP. Su uso nos permite declarar las librerías de las que depende nuestro proyecto y ella se encarga de administrarlas (las instala, las actualiza…).

Empezando a usar composer

Para empezar a usar Composer en el proyecto, lo primero que tenemos que hacer es crear el archivo composer.json en la carpeta raíz de nuestro proyecto. En este fichero vamos a especificar las dependencias de nuestro proyecto.

Lo primero que tiene que contener este fichero es la llave “require”. Con esto lo que le decimos a composer es de qué paquetes depende nuestro proyecto. El formato sería:

{
"require": {
"vendor/paquete": "1.3.2",
"vendor/paquete2": "1.*",
"vendor/paquete3": "^2.0.3"
}
}

 

Vamos a poner como ejemplo que necesitamos usar la dependencia monolog/monolog, que es una librería de loggin. En este caso lo que tendríamos que incluir es:

{
"require": {
"monolog/monolog": "1.0.*"
}
}

 

Esto lo que le indica es que nuestro proyecto necesita el paquete monolog/monolog cuya versión tiene que ser mayor que 1.0 pero menor que 1.1.

Una vez tenemos listo esto vamos a instalar los paquetes necesarios con el siguiente comando:

composer install

 

composer_install

Al lanzar este comando se nos va a generar el fichero composer.lock. En este fichero se incluye, entre otras cosas, la versión exacta que se está instalando. Si no existe el fichero se resolverán las dependencias usando la información que proporcionamos en el fichero composer.json y se descargarán las últimas versiones en el directorio vendor (este directorio es la localización habitual para el código de terceros en nuestro proyecto) y al terminar fijará esas versiones para el proyecto. Si estamos trabajando con un repositorio es importante hacer un commit de este archivo al repositorio para que la gente que trabaja en el mismo proyecto lo haga con las mismas versiones.

Si al lanzar el comando ya tenemos el fichero composer.lock (ya sea porque lanzamos el comando install con anterioridad o porque trabajamos en un proyecto común y alguien del mismo ya lo lanzó con anterioridad) Composer resuelve e instala las dependencias que tengamos listadas en composer.json pero usando las versiones exactas que tenemos en composer.lock. Esto asegura la consistencia del proyecto ya que todo el mundo estará trabajando con las mismas versiones aunque exista actualmente alguna versión superior.

Actualizar las dependencias a las últimas versiones disponibles

Como hemos visto anteriormente, el fichero composer.lock evita que automáticamente se actualicen las dependencias a versiones más actuales. Para hacer eso vamos a usar el comando update. Esto va a buscar las últimas versiones disponibles de acuerdo con lo que le indicamos en el fichero composer.json.

composer update

Esto actualiza todas las dependencias. En caso de que solo queramos actualizar alguna dependencia se podría indicar. Vamos a actualizar como ejemplo solamente monolog.

composer update monolog/monolog

composer update

 

Autoloading

Si la librería proporciona información acerca de la carga automática de sus clases Composer generará un archivo llamado autoload.php en la carpeta vendor. Incluyendo este archivo en el proyecto ya podremos utilizar cualquier clase instalada a través de Composer sin tener que incluirla explícitamente en nuestro código:

require_once __DIR__ . '/vendor/autoload.php';

 

Añadir nuevas dependencias

Para añadir nuevas dependencias vamos a usar la siguiente opción:

composer require vendor/package:version

Generar el fichero composer.json de manera automática

Si queremos generar el fichero composer.json a mano y que nos lo cree el propio sistema añadiendo información a mayores, podemos usar el comando init para realizar esto.

composer init

Nos va a realizar una serie de preguntas para cada una de las cuales nos hace sugerencias. Podemos aceptar las sugerencias que nos hace dando a enter o bien escribir la información que queramos. Asimismo, podremos añadir ahora las dependencias o posteriormente con los comandos que explicamos.

Antes de finalizar nos mostrará cómo quedaría el fichero composer.json para que aceptemos si estamos de acuerdo o lo cancelemos en caso de que no estemos conformes con el resultado.

Buscar información de dependencias

Existen varios repositorios donde puedes encontrar información sobre los paquetes instalables con composer. Uno de los más conocidos y que es muy interesante conocer es packagist. Puedes encontrarlo en el siguiente enlace:

https://packagist.org/

  • Composer, Hosting Avanzado SSD
  • 0 vez/veces marcado como útil
¿Fue útil la respuesta?

Artículos relacionados

Guía básica Drush

Drush es una herramienta de línea de comandos que te permitirá gestionar, automatizar y...

Guía básica WP-CLI

Wp-cli es una herramienta en línea de comandos que nos ofrece una serie de funcionalidades para...

Guía básica Subversion

Subversion es un sistema de control de versiones que nos sirve para tener un control sobre...

Guía básica Git

Git es un sistema de control de versiones de código abierto. Estos sistemas registran los cambios...

Acceso mediante SSH

Independientemente del sistema operativo que utilicemos vamos a necesitar los siguientes datos...