man in white and blue crew neck t shirt holding blue and white love print

¿Como usar composer en un plugin de WordPress?

Imagina que tienes un plugin en WordPress que estas desarrollando, y tienes varias librerías de PHP que quieres integrar a tu plugin, la forma más común de integrar estas librerías es ir a la página oficial descargar la version más reciente, una vez descargadas, las copias a tu carpeta del plugin y haces un include pero... ¿No crees que es muy largo el proceso? pues para y otras cosas existe composer el gestor de dependencias de PHP.

Antes de iniciar con el tutorial hay que aclarar estoy hablando de Composer el famoso gestor de dependencias de PHP, utilizado en frameworks como Laravel y NO tiene nada que ver con Visual Composer(Plugin de WordPress para la maquetación visual).

image 13

Una vez aclarado que no hablaremos de Visual Composer, empecemos con las cosas básicas.

¿Qué es composer?

Composer es una herramienta para la gestión de dependencias en PHP. Nos permite a los programadores declarar las bibliotecas de las que dependen nuestros proyectos y composer las administrará (instalará / actualizará).

¿Para qué nos sirve composer en un plugin de WordPress?

Imagina que tienes un plugin en WordPress que estas desarrollando, tienes varias librerías de PHP como CMB2: Custom Meta Boxes, Advanced Custom Fields y algunas librerías para hacer PDFs o Excel, PHP Unit, etc… la forma más común de integrar estas librerías es ir a la página oficial descargar la version más reciente, una vez descargadas las copias a tu carpeta del plugin. Pero…

Te imaginas que en un futuro necesites dar mantenimiento al plugin o quizás alguna librería de las que utilizaste en el plugin ya no es compatible con la version de PHP del servidor y necesitas actualizar la librería, bueno pues composer nos ahorra muchos de estos tipos de problemas ya que mediante nuestra consola de comandos podemos actualizar todas las librerías e incluso instalarlas todas, sin necesidad de descargar de una por una, copiando y pegando.

¿Como instalar composer?

image 14

Abrimos una nueva pestaña de nuestro navegador y buscamos en Google.

image 15

Escribiremos composer e iremos al primer resultado de Google asegúrate que la dirección de la web sea: https://getcomposer.org.

image 16
Daremos click en el boton de descargar.
image 17

Podremos ver una página nueva y daremos click en Composer-Setup.exe. al finalizar la descarga del archivo .exe deberemos ejecutarlo, nos pedira algunos permisos de administrador, daremos click en aceptar.

image 19

Deberemos de dar click en el boton de “next”.

image 20

A continuación, nos pide que indiquemos la ruta del ejecutable de PHP, en mi caso como estoy trabajando con:

  1. Laragon la ruta es C:\laragon\bin\php\php-version\php.exe

Si estas usando un servidor local como:

  • XAMPP la ruta es C:\xampp\php\
  • WAMPP la ruta es C:\wamp\bin\php\php

NOTA: Tienes que seleccionar el archivo php.exe, luego click en “Next”.

image 21

Daremos click en “Next”.

image 22

Click en “Install”.

Una vez esté todo instalado, puede que aparecerán otras ventanas donde simplemente debes hacer click en Next, y posteriormente en Finish; después de tantos Next, Next, el instalador de Composer habrá puesto en nuestro PATH global la ruta de la carpeta PHP y su propia carpeta Composer.

Esto nos permite trabajar desde consola escribiendo sólo php o composer sin necesidad de indicar la ruta del ejecutable. Para ver que todo está en orden vamos a realizar dos pequeñas pruebas, así que es momento de abrir la consola, y teclear:

php -v (tecla Enter)
composer -version (tecla Enter)

Para comprobar que todo está correcto deberemos ver la versión de cada uno, como se ve en la siguiente imagen:

image 24

Con esto ya tenemos Composer instalado y funcionando en Windows, ahora solo nos queda hacer una prueba de Composer en nuestro plugin.

¿Como usar composer en un plugin de WordPress?

Primero deberemos de ir a la carpeta de nuestro plugin en WordPress en mi caso mi plugin está en la siguiente ruta \wp-content\plugins\demo_composer, dentro de esta carpeta deberemos de tener el archivo principal de nuestro plugin en mi caso hice un archivo solo para demostración:

<?php
/*
 * Plugin: Demo de Composer
 */

Después procederemos a abrir la ruta de nuestro plugin con la línea de comandos, en Windsor basta con dar click derecho en la carpeta de nuestro plugin y dar click en “Abrir en Terminal”.

image 25

Nos mostrar nuestra terminal de comando de Windows, basta con escribir la siguiente línea para poder usar composer en nuestro plugin de WordPress.

composer init
image 26

Daremos “Enter” o la tecla “N” para saltar la configuración inicial.

image 27

Si nos pide que definamos nuestras dependencias, escribiremos no en ambos casos y después nos preguntara si estamos de acuerdo con la generación, escribiremos “yes” o daremos a la tecla “Enter” y composer en nuestro proyecto generara un archivo en formato .json llamado composer.json.

image 28

Bueno ahora podemos proceder a instalar alguna librería podemos buscar muchas en Packagist en este caso yo instalare para mi plugin la librería de spipu/html2pdf para generar PDFs, esta librería se instala con el siguiente comando:

composer require spipu/html2pdf
image 29
image 30

Una vez ejecutado el comando obtendremos una pantalla como la anterior y en nuestro proyecto se nos habrá creado una carpeta con el nombre de vendor.

image 31

Para hacer uso en nuestro plugin de WordPress de las librerías instaladas con composer y guardadas en la carpeta vendor, únicamente tenemos que preocuparnos de incluir el «autoloader» que se sitúa dentro de la carpeta vendor y el cual ya se encarga de incluir todas las dependencias en el archivo principal de nuestro plugin.

<?php
/*
 * Plugin: Demo de Composer
 */
require_once 'vendor/autoload.php';

Con solo la línea de código que hace incluir el fichero autoload.php dentro de nuestro plugin ya estaríamos integrado composer y todas las librerías PHP que quieras ya que ese fichero se encarga de todo.

Una vez incluido el archivo “vendor” basta con activar nuestro plugin y programar el código correspondiente para el uso de nuestra libreria en nuestro plugin.

¿Aún con dudas?

Si ¿Necesitas ayuda con algún proyecto web? No dudes en contactarme desarrollo soluciones completas y personalizadas con WordPress y PHP, con herramientas y procesos modernos, utilizando HTML, CSS, SCSS, PHP, JavaScript, Bootstrap y más… Si ¿Estás listo? ¡Envíame un mensaje y hablemos de tu proyecto web!