Archivo

Archive for 17 marzo 2015

Composer

Es una librería y ejecutable que gestiona otras librerías para PHP. Resuelve las dependencias de las librerías que vayamos a instalar (se descarga todas las librerías necesarias para que funcione la nuestra) y gestiona el autoload de las librería en nuestro proyecto. Además es el sistema elegido para instalar la mayoría de los grandes frameworks actuales, además de un sinfín de librerías que podemos utilizar en cualquiera de nuestros proyectos. Composer debe implementarse en nuestro sistema (por el ejecutable) y nuestro proyecto para poder hacer uso de él.

Para instalar composer en nuestro sistema, primero necesitaremos tener instalar algún paquete con Apache, PHP….pero el procedimiento es muy parecido. Lo primero es acceder a la página de Composer y descargar el ejecutable (Windows – siguiente, siguiente…y listo!) o copiar la URL para la descarga. Ésta descarga se puede realizar mediante curl (utilidad de transferencia de archivos muy potente), o también mediante la el comando de php. En el caso de no tener curl:

sudo apt-get install curl

Luego desde una línea de comando ejecutar el siguiente comando:

curl -sS https://getcomposer.org/installer | php

Sin curl

php -r "readfile('https://getcomposer.org/installer');" | php

Composer se habrá descargado en la carpeta donde estemos actualmente pero deberemos moverlo a una carpeta del sistema, para que ese ejecutable sea global y no tener que estar escribiendo la ruta del mismo todo el tiempo. Este proceso en Windows no es necesario (el instalador lo añade solo al Path).

mv composer.phar /usr/local/bin/composer

Para instalar Composer en nuestro proyecto debemos de crear en el raíz del proyecto un archivo llamado composer.json (ver sintaxis) que como su extensión indica será en formato json (todo son cadenas “” dentro de objetos JS {}) . No todos los parámetros del enlace son necesarios, los más importantes son:

  • name: nombre del proyecto
  • description: descripcion del proyecto
  • type: project, library…
  • authors: nombre de autor o autores y datos de los mismos [array]
  • require: dependencias del proyecto P.E (“php”: “>=5.3.0”)
    • para buscar librerías para nuestro proyecto (Packagist)
  • autoload: reglas para la carga automática de librerías
    • classmap: array con las carpeta/s  de includes
    • psr-4: especificación de un estándar para el autloading de clases y otras cosas.

Una vez creado el composer.json ejecutamos desde la raiz del proyecto:

composer install

Y se instalarán todas las librerías necesarias, además de crearse las carpetas necesarias de composer en el proyecto (/vendors) y actualizarse solo el autoload del proyecto!

Una última cosa, para que Composer funcione en nuestro proyecto deberemos incluir la siguiente línea en el index o bootstrap de nuestro proyecto:

require 'vendors/autoload.php';
Anuncios
Categorías:Desarrollo, PHP