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
Comentarios