Componentes PHP y como usarlos con Composer

02/08/2019 | PHP | 2 comentarios

Aprende que son componentes en PHP y como utilizarlos en tus proyectos con la ayuda de Composer.


Componentes

Un componente es un paquete de código PHP que sirve para resolver un determinado problema, por ejemplo: enviar correo, generar archivos pdf, leer archivos xls, etc. Este paquete de código o componente es un conjunto de clases que utilizan un mismo namespace y pueden depender de otros componentes para su funcionamiento.

Composer

Composer es un gestor de dependencias para componentes PHP que funciona en línea de comandos. Composer se encarga de descargar los componentes y sus respectivas dependencias.

Los componentes descargados automáticamente se guardan en la carpeta vendors, además se crea un archivo llamado autoload.php que se encarga de incluir los archivos necesarios para utilizar el componente.

Instalar Composer

Se requiere tener PHP instalado para instalar y utilizar Composer, la instalación es sencilla y se realiza en línea de comandos:


php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"

Puedes verificar la instalación utilizando el comando composer.

Buscar Componentes

Packagist es un repositorio de componentes PHP, con la ventaja que los componentes se pueden descargar utilizando Composer. Se recomienda revisar la documentación y las estadísticas (total de descargas, total estrellas, etc) para identificar el componente que necesitas.

Cómo utilizar Composer

Composer utiliza un archivo de configuración llamado composer.json para guardar el listado de componentes a utilizar en el proyecto, puedes crearlo manualmente o si prefieres puedes hacerlo con el siguiente comando:

composer init

Luego de seguir los pasos indicados por el comando ya tendrás tu archivo composer.json, notar que hay una propiedad llamada require vacía que contendrá el listado de componentes a utilizar.


{
    "name": "kodetop/composer",
    "description": "Composer demo project",
    "type": "project",
    "authors": [
        {
            "name": "Kodetop",
            "email": "info@kodetop.com"
        }
    ],
    "require": {}
}

El siguiente paso es buscar el componente que necesitas, por ejemplo para el envío de correo se utiliza PHPMailer, una vez identificado el componente lo puedes instalar con el comando composer require, para nuestro ejemplo:

composer require phpmailer/phpmailer

Este comando se encarga de registrar el componente en el archivo composer.json, descarga los archivos del componente a la carpeta vendor y lo registra para utilizarlo con el autoload.

Para utilizar el componente debes incluir el archivo autoload.php al inicio de tus archivos PHP, esto incluirá automáticamente los archivos necesarios para el funcionamiento del componente.


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

Listo, no es necesario incluir archivos del componente, Composer se encarga de todo este proceso. Lo que sigue es utilizar el componente de acuerdo a la documentación del mismo, para nuestro ejemplo:


<?php 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

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

$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = 'ssl';
$mail->Port = 465;

// Config PHPMailer params

$mail->Send();

Siguientes pasos

Los componentes se guardan en la carpeta vendor, entonces se recomienda no versionar estos archivos. Si estas clonando el proyecto o eliminaste la carpeta puedes puedes instalar los componentes y sus dependencias con:

composer install

También es posible actualizar los componentes, para ello utiliza:

composer update

Referencias

Comentarios

Maru 20/08/2020 8:18 am

Hola! Que buena info, me encantó la explicación. me queda una duda, perdón por mi ignorancia, pero cuales serían los archivos a cargar en el cpanel para que funcione el recibo de mensajes a traves de un formulario?

Gracias ☺️

kodetop 20/08/2020 8:28 am

Hola Maru, lo que hace Composer es descargar todos los archivos del componente seleccionado, todos estos archivos ser descargan en la carpeta vendor.

Entonces si ya tienes todo funcionando en tu computadora lo que tienes que subir es la carpeta vendor y los archivos .php donde has colocado tus scripts.

Envíar Comentario

En este sitio los comentarios se publican previa aprobación del equipo de Kodetop. Evita los comentarios ofensivos, obscenos o publicitarios. Si deseas publicar código fuente puedes hacerlo entre las etiquedas <pre></pre>