Novedades de Laravel 5.5Laravel 5.5 nos trae unas mejoras al momento de publicar los archivos de configuración y otros recursos de los paquetes de terceros o del mismo framework que nos facilitarán la elección de lo queremos publicar.  Como veremos a continuación:

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Notas

Por Clemir Rondón.

La inclusión de paquetes es una de las maneras de agregar funcionalidad a las aplicaciones de Laravel. Existen paquetes de distintos tipos: los que puedes usar en cualquier proyecto de PHP y los específicos para Laravel.  Estos últimos son desarrollados usando como base un service provider que se encarga de conectar el paquete con Laravel, es decir, añade las clases y objetos del paquete al contenedor de servicios del framework (Illuminate\Container), así como indicar donde se encuentran los recursos que usa el paquete.  Estos recursos pueden ser:

  • Archivos de configuración
  • Archivos de vistas
  • Rutas
  • Migraciones
  • Traducciones
  • Recursos como archivos Javascript, CSS, imagenes, etc.

Frecuentemente, queremos modificar estos archivos y no lo podemos hacer directamente en el paquete que se encuentra dentro del directorio vendor, puesto que las modificaciones que hagamos se perderán cuando volvamos a ejecutar composer install o composer update

Para ello, Laravel nos provee la opción de publicar esos archivos de recursos de los paquetes dentro de los directorios de la aplicación y de esta manera modificarlos según las necesidades del proyecto a través del comando php artisan vendor:publish

Pero ahora en Laravel 5.5 tenemos la mejora que al ejecutar este comando no se publicará por defecto los recursos de todos los paquetes sino que nos mostrará un menú con las opciones de lo que podemos publicar.

Solo está permitido escoger una opción a la vez

Si quieres publicar todos los archivos de una vez como se venía haciendo en versiones anteriores de Laravel puedes ejecutar:

php artisan vendor:publish --all

Aún se mantiene la otra forma de publicar especificando bien sea el service provider como por ejemplo:

php artisan vendor:publish --provider='Styde\Html\HtmlServiceProvider'

o publicar por tag como por ejemplo:

php artisan vendor:publish --tag=laravel-mail

Puedes ver detalles en el Pull Request hecho al framework: #18230

Aprende a crear tus propios componentes y paquetes con el Curso de creación de componentes para PHP y Laravel.

Material relacionado

Únete a la discusión

Regístrate en Styde y obtén una invitación a nuestro Slack.

Lección anterior Package Discovery en Laravel 5.5