Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. OpenCart
Code

Integra Librerías Externas en OpenCart Usando Composer

by
Difficulty:IntermediateLength:ShortLanguages:

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Casi todo framework hoy en día tiene soporte integrado de Composer, una increíble herramienta de administración de dependencias en PHP, y OpenCart no es la excepción. En este tutorial, aprenderás cómo usar Composer para integrar librerías externas en OpenCart.

El Papel de Composer en OpenCart

Desde la introducción de OpenCart 2.2, el flujo de trabajo basado en Composer está soportado. Así que continua y toma la última versión de OpenCart; al momento de escribir esto, es 2.3.0.2. Asegúrate de que instalas y configuras la última versión que has descargado ya que eso será útil después en el artículo.

Explora la estructura de directorio y notarás ciertas diferencias comparadas con versiones anteriores de OpenCart. En el contexto de este artículo, los candidatos interesantes son el archivo composer.json y el directorio vendor.

Recorramos rápidamente el archivo composer.json.

Aunque una discusión de la sintaxis de Composer está fuera del alcance de este artículo, recorramos rápidamente lo que dice en términos simples.

Primero, el proyecto OpenCart mismo está ahora disponible como librería, así que podrías instalarlo usando Composer mismo sin tener que descargarlo manualmente desde el sitio. Además, también requiere otras librerías de terceros para funcionar apropiadamente, como divido, leafo, etc. Por supuesto, no necesitas preocuparte ya que será manejado automáticamente cuando ejecutes comandos Composer relacionados.

Cuando instalas una nueva librería, la entrada relacionada será agregad al archivo composer.json. Los archivos relacionados de la librería son colocados bajo el directorio vendor al mismo nivel. ¡Solo explora ese directorio y deberías poder ver que las librerías ya se instalaron!

El directorio vendor también contiene autoload.php, generado por Composer mismo, que asegura que las librerías son cargadas de manera automática en OpenCart, para que puedas usarlas inmediatamente. Por supuesto, OpenCart incluye autoload.php mientras arranca el proyecto.

Así que esa es una introducción rápida a como funciona Composer con OpenCart. Para propósitos de demostración, instalamos la popular librería PHPMailer usando Composer.

Instala PHPMailer Usando Composer

El PHPMailer es una librería PHP popular que es usada para enviar correos. La instalaremos en OpenCart usando Composer. Así que ve a tu terminal y cambia el directorio para que estés al mismo nivel en donde residen el directorio vendor y el archivo composer.json.

¡Ahora, ejecuta el comando composer require phpmailer/phpmailer y presiona enter! Asumiendo que todo sale bien, debería lucir como lo siguiente.

¡Así que eso es! PHPMailer es descargado e instalado exitosamente, ¡y esa es la belleza de Composer! Verifica eso viendo en el directorio vendor, y lo encontrarás instalado en el directorio phpmailer/phpmailer.

También, abramos composer.json para ver cómo luce.

Como puedes ver, la entrada "phpmailer/phpmailer": "^5.2" es agregada a la sección require. Así que eso significa que tu proyecto requiere PHPMailer para trabajar apropiadamente.

Asumamos que estás trabajando con otros desarrolladores y necesitas compartir tu trabajo de manera regular. En ese caso, ¡solo necesitas compartir tu archivo composer.json con ellos y el resto será manejado por Composer mismo! Ellos solo necesitan ejecutar el comando composer update, ¡y eso debería encargarse de instalar las dependencias requeridas en su copia!

Ahora, hemos instalado PHPMailer usando Composer, ¿pero cómo usarlo? No te preocupes, no te dejaré tan pronto---¡esa es exactamente la receta de nuestra siguiente sección!

¿Cómo Usar la Librería PHPMailer?

Ya te has hecho a ti mismo un favor usando Composer para instalar la librería PHPMailer, y serás testigo en esta sección mientras exploramos lo sencillo que es usarlo en el código.

Para propósitos del ejemplo, construiremos un archivo controlador personalizado bastante simple que podrías llamar para enviar un correo electrónico.

Abre tu editor favorito de texto y crea example/email.php bajo el directorio catalog/controller con los siguientes contenidos.

Podrías probarlo accediendo a tu sitio vía http://your-opencart-site-url/index.php?route=example/email.

En el método index, puedes ver que hemos instanciado el objeto PHPMailer sin ninguna declaración de inclusión que habría incluido las clases PHPMailer requeridas si no hubiéramos usado un flujo de trabajo basado en Composer. Acertaste, es auto-cargado por OpenCart mismo. ¡Recuerda que autoload.php en el directorio vendor hace toda la magia!

Después de eso está algunas cosas bastante estándar requeridas para que PHPMailer envíe un correo electrónico. Por supuesto, ¡he intentando mantener el ejemplo tan simple como sea posible ya que la discusión de PHPMailer requiere un artículo por separado!

Así qué, esa fue una introducción rápida y simple de cómo podrías usar Composer con OpenCart para integrar librerías externas.

Conclusión

En este artículo, solo hemos rascado la superficie de un flujo de trabajo basado en Composer en OpenCart para usar librerías de terceros en tu proyecto. Sin mencionar que Composer es el futuro de las herramientas de administración de dependencias en PHP. Así que siempre es bueno ensuciarte las manos con eso ya que se está volviendo el estándar en todos los frameworks populares.

¡Las consultas y sugerencias siempre son apreciadas!

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.