Desarrollo web

Instalar y usar paquetes Laravel no compilados

Si deseas usar un paquete en Laravel, simplemente agregas una línea en el archivo composer.json y el trabajo estará listo. Esto se debe a que el paquete está disponible en packagist.org, ¿qué ocurre si el paquete que deseas utilizar es un paquete Laravel que no es de Composer? Tal vez esté disponible en un repositorio git o en un repositorio privado más o menos.

En esta publicación, veremos cómo instalar y utilizar el paquete Laravel que no sea Composer y las bibliotecas personalizadas dentro de tus proyectos Laravel.


 


Usando un paquete Git

Para este propósito, busqué en GitHub un paquete que no está disponible en packagist.org y encontré uno.

Voy a usar un paquete llamado UniversalForms de wesleytodd.

Puedes encontrarlo aquí https://github.com/wesleytodd/Universal-Forms-PHP

Para usar el paquete, abres el archivo composer.json y añades a la sección require de esta manera:

"wesleytodd/universal-forms" : "dev-master"

Luego, en la sección require, agregamos una nueva sección llamada repositories:


Finalmente, hacemos correr update composer.

Ahora puedes agregar el proveedor de servicios para el paquete como cualquier otro paquete de Composer.

Abres config/app.php y agregas el proveedor al array providers.

'Wesleytodd\UniversalForms\Drivers\Laravel\UniversalFormsServiceProvider',

Y puedes usar el paquete como cualquier otro paquete.

Lo mejor de este truco es que el repositorio lo tratará como cualquier dependencia de Composer y colocará el paquete en el directorio del proveedor, como por encanto.

 



Eusando repositorios privados

Como lo hiciste con el repositorio de GitHub, puedes hacer lo mismo con tus repositorios privados:


La única diferencia aquí es que debes instalar las claves SSH para tu cliente de git.

Esta técnica es compatible con muchos clientes de GIT como:

  • Git
  • Subversion
  • Mercurial

 


Usando Subversion

Si estás utilizando Subversion, no hay información nativa de las ramas y etiquetas, por lo que Composer asumirá que el código está en $url/branches y $url/tags.

Si tu repositorio tiene una estructura diferente, puedes cambiar este valor de la siguiente manera:

Clases o librerías personalizadas autocargadas

Ahora puedes usar los paquetes Laravel que no son Composer dentro de tus proyectos.

¿Qué sucede si tu paquete no está incluido en un repositorio, tal vez en una biblioteca PHP normal que contiene clases o cómo usarlo dentro de su proyecto Laravel?

Bueno, eso es simple. Primero, creas un directorio para almacenar tus librerías digamos app/libraries.

Luego incluyes el nombre del archivo de la librería en el archivo composer.json, en la sección autoload bajo classmap:


Esto incluirá tu archivo sin problemas. ¿Y si tu librería tiene muchos archivos?

Genial. Puedes incluir el nombre del directorio en su lugar y Composer cargará todas las clases automáticamente.

Ahora puedes importar y usar cualquier paquete Laravel que no sea Composer.

Esperamos que encuentres útil la publicación.

Sigue volviendo.

Gracias.

Mokhtar Ebrahim
Estoy trabajando como administrador de sistemas Linux desde 2010. Soy responsable de mantener, proteger y solucionar problemas de servidores Linux para múltiples clientes de todo el mundo. Me encanta escribir guiones de shell y Python para automatizar mi trabajo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *