Anexsoft | Blog y dictado de cursos de Tecnología

En este encontrarás tutoriales de tecnología como PHP, ASP.NET MVC, Front-End, entre otros y cursos exigentes de modalidad online que te ayudarán a crecer profesionalmente.

¿Qué es Composer y cómo se usa en PHP?
Actualizado el 21 Enero, 2016 y leído 8,218 veces
Calificación: 10.00 / 10

¿Qué es Composer y cómo se usa en PHP?

Anexsoft

Es normal que cuando queremos descargar una librería lo que tenemos que hacer es entrar a su página web, descargar el archivo, descomprimirlo y agregarlo a nuestro proyecto. Con Composer esto se vuelve algo más fácil y disponemos de una web para buscar las dependencias que necesitamos para nuestro proyecto en base a criterios de búsqueda.

 

¿Qué es Composer?

Es un administrador de dependencias para PHP que nos permite descargar paquetes desde un repositorio para agregarlo a nuestro proyecto. Por defecto, se agregan a una carpeta llamada /vendor. De esta manera evitamos hacer las búsquedas manualmente y el mismo Composer se puede encargar de actualizar las dependencias que hayamos descargado por una nueva versión.

Algo similar al NPM de Node JS, Bower de Twitter y Nuget de .NET.

 

¿Cómo se instala?

Ingresamos a la siguiente URL y descargamos el ejecutable. En mi caso, como uso Windows, descargo el ejecutable para Windows, luego lo instalo y en uno de los pasos me pedirá ubicar el archivo php.exe. Este, por ejemplo si usamos Wamp Server lo encontramos en la siguiente ruta "wamp\bin\php\php5.5.12".

Con eso ya tenemos instalado Composer.

 

¿Ahora qué hago?

Bien creemos un nuevo proyecto, en mi caso agregué una nueva carpeta a mi directorio público de wamp "www/composer_demo" y luego abrimos la consola de comandos y abrimos nuestro navegador favorito para irnos a la siguiente página a buscar alguna dependencia.

Por ejemplo voy a buscar Fluent PDO la cual me permite trabajar con PDO de manera más práctica, agilizando bastante código. Para ello escribo Fluent PDO en la caja de búsqueda y elegimos la que dice lichtner/fluentpdo.

Bien, entramos a la información general de la dependencia y lo que tenemos que hacer ahora es agregarla a nuestro proyecto. Para esto, volvemos a la consola y debemos posicionarnos en la carpeta que hemos creado para nuestro proyecto.

Ahora ejecutamos el siguiente comando para agregar la dependencia:

composer require lichtner/fluentpdo

Si todo ha salido bien deberíamos ver algo como esto.

 

Ya agregamos la dependencia a nuestro proyecto, ¿Ahora?

Hasta este punto tenemos agregado la dependencia a nuestro proyecto y se ha creado los siguientes archivos.

  • /vendor
  • composer.json
  • composer.lock

De estos 3 solo nos interesa los 2 primeros, vendor almacena todos los archivos necesarios de las dependencias descargadas y composer.json es un archivo json que nos sirve para gestionar las dependencias instaladas a nuestro proyecto.

 

Cargando las dependencias a nuestro archivo index.php

Muy bien, ahora solo tenemos que cargar todas estas dependencias a nuestro archivo index.php o a nuestro archivo que levantará a nuestro proyecto. Para este ejemplo solo vamos a ver como cargar las dependencias.

Lo que hacemos es crear en la raíz de nuestro proyecto un archivo index.php y agregar el siguiente código:

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

Ya está, el autoload.php de vendor se encargará de cargar todas las dependencias por nosotros. Para hacer una prueba hagamos un var_dump a la clase de FluentPDO.

require 'vendor/autoload.php';

$pdo = new PDO("mysql:dbname=anexsoft", "root", "");
$fpdo = new FluentPDO($pdo);

var_dump($fpdo);

Si todo está bien debería arrojar la siguiente información del caso contrario, una excepción de clase no encontrada.

object(FluentPDO)[3]
  private 'pdo' => 
    object(PDO)[2]
  private 'structure' => 
    object(FluentStructure)[4]
      private 'primaryKey' => string 'id' (length=2)
      private 'foreignKey' => string '%s_id' (length=5)
  public 'debug' => null

 

¿Quiero agregar una nueva dependencia?, ¿Qué hago?

Buscamos otra dependencia en el listado de paquetes, por ejemplo yo he buscado todo lo relacionado a "thumb" para generar copias de imágenes y encontre la siguiente dependencia de un gran listado.

composer require deresh/thumb

Y ya está, si abrimos el archivo composer.json veremos la siguiente información actualizada:

{
    "require": {
        "lichtner/fluentpdo": "^1.0",
        "deresh/thumb": "^1.0"
    }
}

 

En resumen, cuando búsquemos por librerías para PHP, vamos a encontrar ahora que nos dan el comando para ejecutarlo desde Composer. Por ejemplo, Laravel se instala vía Composer.

¡Adquiera ya!

  • Software de Venta e Inventario hecho en PHP y Codeigniter

    Software de Venta e Inventario hecho en PHP y Codeigniter
  • Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#

    Software de Portafolio Profesional hecho en ASP.NET MVC 5 C#
  • Código de fuente de Red Social desarrollada en ASP.NET MVC

    Código de fuente de Red Social desarrollada en ASP.NET MVC

Últimas publicaciones

Encuesta

¿Sobre qué te gustaría que se hable más?

Síguenos

Estudia con nosotros y crece profesionalmente

Nuestros cursos han sido hecho en base a lo que demanda el mercado hoy en día.
La experiencia obtenida es la de un ambiente laboral.

Anexsoft
© 2017 Anexsoft, blog y cursos online de TI.