Calendar Icon - Dark X Webflow Template
October 2023
Clock Icon - Dark X Webflow Template
8
min lectura

Usando un paquete propio de Laravel

Ahora que hemos visto cómo crear nuestro paquete de Laravel podemos continuar con el uso del mismo. Veremos dos formas de desplegarlo, la primera será de una manera local que es conveniente cuando se está desarrollando y testeando, en la segunda será descargado y versionado por medio de un repositorio, en este caso usando GitHub, generalmente conviene más esta forma para proyectos en producción.

Ahora que hemos visto cómo crear nuestro paquete de Laravel podemos continuar con el uso del mismo. Veremos dos formas de desplegarlo, la primera será de una manera local que es conveniente cuando se está desarrollando y testeando, en la segunda será descargado y versionado por medio de un repositorio, en este caso usando GitHub, generalmente conviene más esta forma para proyectos en producción.

Implementar cualquiera de estos métodos es realmente sencillo ya que solo se deben hacer modificaciones en el archivo composer del proyecto donde será desplegado.

Desde local

En este caso se requiere que el paquete sea copiado en el proyecto directamente, la carpeta del paquete debe estar al mismo nivel que la carpeta app del proyecto.

Se deben configurar dos parámetros en el archivo composer.json del proyecto:

·         require: Es el parámetro donde se colocan los paquetes requeridos junto con sus versiones. Debemos colocar el nombre de nuestro paquete que definimos en el composer.json junto con su versión.

Un ejemplo de este parámetro es el siguiente:

"require": {

        "php": "^8.1",

        "guzzlehttp/guzzle": "^7.2",

        "laravel/framework": "^10.10",

        "laravel/sanctum": "^3.2",

        "laravel/tinker": "^2.8",

        "webdecero/paquete-prueba": "1.0.0"

    },

·         repositories: En este parámetro indicamos la carpeta desde donde estará nuestro paquete y habilitamos la opción symlink para que nuestros cambios en el paquete se reflejen inmediatamente en el proyecto.

Un ejemplo de este parámetro es el siguiente:

 "repositories": [

        {

            "type": "path",

            "url": "packagewdc",

            "options": {

                "symlink": true

            }

        }

    ]

Desde Repositorio

En este caso necesitamos subir el paquete en una plataforma para versionar código como lo son Bitbucket o GitHub. Se recomienda generar una tag en el repositorio correspondiente a la versión de tu paquete definida en su composer.json para que sea más sencilla la instalación.

Al igual que en la forma anterior, se deben modificar los mismos parámetros. En el parámetro require se debe especificar el nombre y versión de nuestro paquete.

El parámetro repositories se debe definir de una manera diferente ya que traerá el paquete desde un repositorio. Se necesita definir de tipo vcs además del link para clonar con https.

Si quieres descargar el paquete que se creó en este blog, puedes consultar el repositorio en el siguiente link : https://github.com/webdecero/webdecero-package-prueba 

Un ejemplo de este parámetro es el siguiente:

 "repositories": [

        {

            "type": "vcs",

            "url": "https://github.com/webdecero/webdecero-package-prueba.git"

        }

    ]

Instalación

Para instalar en cualquiera de las maneras antes mencionadas puedes ejecutar el comando para actualizar los paquetes de tu proyecto, sin embargo, se podría actualizar algún paquete que no deseas sea actualizado, con el siguiente comando:

composer update

Para instalar solamente el paquete puedes ejecutar:

composer require nombre_paquete:versión_paquete

En este comando se debe colocar el nombre y versión del paquete definidos en el archivo composer.

El comando ejemplo de nuestro paquete es el siguiente:

composer require webdecero/paquete-prueba:1.0.0

Conclusión

Es muy útil desarrollar un paquete propio en Laravel ya que puede evitarte la tarea de copiar y pegar fragmentos de código útiles de otros proyectos. De esta manera simplemente haces la instalación de tu paquete y puedes disponer de recursos reutilizables como controladores, modelos o rutas.