PHP, la manera correcta

4.1. Composer y Packagist

Composer es un excelente gestor de dependencias para PHP. Para utilizarlo, sólo tienes que definir las dependencias del proyecto en un archivo llamado composer.json, ejecutar algunos comandos y Composer descargará automáticamente las dependencias del proyecto y configurará el cargador automático de clases en cuestión de segundos.

Ya existen muchas librerías PHP compatibles con Composer y que están listas para usar en tu proyecto. El sitio web Packagist es el repositorio oficial de librerías compatibles con Composer.

4.1.1. Cómo instalar Composer

Composer se puede instalar de manera local para cada proyecto o globalmente (por ejemplo en /usr/local/bin). Si quieres utilizar Composer localmente, ejecuta lo siguiente desde el directorio raíz del proyecto:

$ curl -s http://getcomposer.org/installer | php

Este comando descarga el archivo binario composer.phar que se puede ejecutar directamente con el comando php.

4.1.1.1. Instalación en Windows

En sistemas Windows, la forma más sencilla de instalar Composer es descargar y ejecutar el instalador de Composer. Este instalador realizar una instalación global de Composer y configura la variable de entorno $PATH para poder ejecutar Composer desde cualquier directorio del sistema.

4.1.2. Como instalar Composer manualmente

Instalar Composer manualmente requiere de un proceso más avanzado. Si aún así prefieres este modo de instalación, debes tener en cuenta que al instalar Composer manualmente no podrás verificar que:

  • Estás utilizando una versión compatible de PHP
  • Los archivos .phar se pueden ejecutar correctamente
  • Tienes suficientes permisos en los directorios
  • No se han cargado algunas extensiones PHP que pueden causar problemas
  • El archivo php.ini tiene los ajustes necesarios

Ya que la instalación manual no realiza ninguna de estas verificaciones, debes pensar muy bien si esto es realmente lo que quieres. En caso afirmativo, ejecuta los siguientes comandos para instalar Composer a mano:

$ curl -s http://getcomposer.org/composer.phar -o $HOME/local/bin/composer
$ chmod +x $HOME/local/bin/composer

La ruta $HOME/local/bin (o el directorio que hayas elegido) debe encontrarse dentro de alguno de los valores de la variable de entorno $PATH. De esta manera, el comando composer podrá ejecutarse desde cualquier directorio del sistema.

Cuando encuentres en un sitio web instrucciones de instalación que te digan que ejecutes Composer de esta manera: php composer.phar install, lo que debes hacer es reemplazar lo anterior por esto:

$ composer install

4.1.3. Cómo definir y configurar dependencias

Primero, crea un archivo llamado composer.json en el mismo directorio donde se encuentra composer.phar. El siguiente ejemplo añade el paquete Twig como una dependencia del proyecto:

{
    "require": {
        "twig/twig": "1.8.*"
    }
}

El siguiente paso es ejecutar Composer desde el directorio raíz del proyecto:

$ php composer.phar install

Este comando descarga y configura la nueva dependencia del proyecto dentro de un directorio llamado vendors/. Una vez instalada la dependencia, añade esta línea de código en el archivo principal de la aplicación:

<?php
require 'vendor/autoload.php';

Esta instrucción le dice a la aplicación que use cargador automático de clases de Composer para cargar cualquier dependencia que se haya configurado. Ahora las dependencias se irán cargando automáticamente a medida que la aplicación las necesite.