En este videotutorial aprenderemos cómo actualizar una aplicación de la versión 7 a la versión 8 del framework Laravel. Para ello usaremos el proyecto del curso Crea un Panel de Control con Laravel.

Mira el código en GitHub: actual, resultado, comparación.

Notas (por Ambar Quintana)

Antes de pasar a Laravel 8, te recomendamos ejecutar composer update seguido de tus pruebas, y así asegurarte que tu aplicación funciona correctamente en la versión más actual de Laravel 7.

Para actualizar nuestra aplicación a la versión 8 del framework, primero debemos asegurarnos que tenemos instalado PHP 7.3.0 (o superior) en nuestro entorno, para ello ejecuta en tu consola:

php -v

Recuerda verificar esto tanto en tu entorno local, como en tu entorno de producción.

Una vez hecho esto, podemos comenzar a actualizar nuestras dependencias.

En nuestro archivo composer.json vamos a actualizar la dependencia del framework a ^8.0:

"laravel/framework": "^8.0",

Y la versión mínima de PHP a ^7.3:

"php": "^7.3",

Luego, la dependencia de nunomaduro/collision a ^5.0:

"nunomaduro/collision": "^5.0",

Y finalmente las dependencias de:

PHPUnit  "phpunit/phpunit": "^9.0"
Ignition   "facade/ignition": "^2.3.6" y
Guzzle     "guzzlehttp/guzzle": "^7.0.1"

En caso de que estés utilizando paquetes de terceros, no olvides actualizarlos. Para ello te recomendamos leer sus guías de actualización individuales.

Ahora puedes ejecutar composer update para actualizar tus paquetes y  php artisan --version para comprobar que tienes instalada la versión 8 del framework.

Laravel 8 viene con algunos cambios importantes, uno de ellos son los model factories, de los cuales te hablaremos en la lección siguiente. Sin embargo, si deseas continuar utilizando la sintaxis de la versión anterior del framework, instala el paquete laravel/legacy-factories mediante Composer:

composer require laravel/legacy-factories

Esto puedes hacerlo como un paso temporal antes de migrar a la nueva versión de los Model Factories.

Además, si estás utilizando la paginación de Laravel en tu aplicación, notarás que sus estilos se pueden ver afectados luego de actualizar a la versión 8 del framework. Esto se debe a que ahora Laravel utiliza Tailwind por defecto en lugar de Bootstrap.

Si deseas seguir utilizando Bootstrap para tu paginación, puedes agregar en tu AppServiceProvider el siguiente llamado dentro del método boot:

<?php

use Illuminate\Pagination\Paginator;

//...

Paginator::useBootstrap();

Recuerda importar la clase Illuminate\Pagination\Paginator al inicio de tu AppServiceProvider

Si estás utilizando la versión 3 de Bootstrap, llama al método estático Paginator::useBootstrapThree()

Material relacionado

Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.

Lección siguiente Cambios en Model Factories y Seeders a partir de Laravel 8