Echa un vistazo a las nuevas y emocionantes características 5.8 de Laravel

Publicado: 2022-01-02

Laravel, un marco PHP sobresaliente creado por Taylor Otwell en 2011 es el mejor entre todos los marcos PHP. Es accesible, potente, robusto y teje algunas aplicaciones asombrosas.

Este marco PHP facilita a los desarrolladores implementar el patrón MVC abstrayendo las complejas funcionalidades. Las actualizaciones son imperativas y solo sirven para mejorar el ciclo de vida de la aplicación.

Laravel lanza aproximadamente una actualización cada 5-6 meses y este año también, Laravel lanzó la versión 5.8 (marzo de 19) y no está disponible para su uso. Puede contratar a un desarrollador de Laravel para que realice la tarea lo antes posible.

La mejora continua de las versiones anteriores ha traído algunas de las características interesantes para los desarrolladores. Echemos un vistazo a algunas de las increíbles características que ofrecerá esta nueva versión.

  • Resolución de políticas automatizada
  • Soporte Carbon 2.0
  • Tiene relaciones elocuentes de uno a uno
  • Token guarding y hashing
  • TTL de caché
  • Configuración de la zona horaria del programador
  • Artisan :: mejoras de llamadas
  • Métodos auxiliares de prueba simulada / espía
  • Mejoras en el servicio artesanal
  • Método elocuente de orden superior
  • dotenv 3.0
  • Nuevas plantillas de manejo de errores

Resolución de políticas automatizada:

Las versiones anteriores de Laravel tenían modelos o políticas en ubicaciones no convencionales y debían registrarse en la clase AuthServiceProvider. En esta versión, los modelos y las pólizas se almacenarán en ubicaciones convencionales.

Ya no tiene que registrar manualmente la política de autorización del modelo. Esta nueva versión descubrirá automáticamente las políticas siguiendo las convenciones de nomenclatura estándar de Laravel.

Si las pólizas que desea registrar están ubicadas en otra ubicación, registre una devolución de llamada usando

Gate :: guessPolicyNamesUsing .

Puede llamar a este método desde el método booth de AuthServiceProvider de la siguiente manera:

 use Illuminate \ Support \ Facades \ Gate;
Gate :: guessPolicyNamesUsing (function ($ modelClass) {
// devuelve el nombre de la clase de política ...
});

Soporte Carbon 2.0:

Buenas noticias para los desarrolladores, ahora puede hacer que su aplicación use CarbonImmutable por defecto.

Este paquete amplía la clase de fecha y hora de PHP y hace que trabajar con fecha y hora sea muy fácil. La selección de la clase depende del usuario.

HasOneThrough relación elocuente:

Esta nueva característica es casi similar a la que ofrece Rails. Tomemos un ejemplo. Supongamos que tenemos tres modelos, el modelo Proveedor, Cuenta e Historial de la cuenta. En palabras simples, un proveedor tiene una cuenta y una cuenta tiene un historial de cuenta.

En versiones anteriores, para obtener el historial de la cuenta, solíamos escribir: $ proveedor-> cuenta-> historial de la cuenta. Pero ahora, a través de esta elocuente relación, escribirás de inmediato

 $ historial = $ proveedor-> accountHistory

en todo el modelo de cuenta.

 función pública accountHistory ()
{
Devuelve $ this-> hasOneThrough (AccountHistory :: class, Account :: class);
}

Hash de token de Token Guard:

Con la función de protección de token, ahora puede guardar los tokens de API como hashes SHA-256. Anteriormente, el token de la API se almacenaba como tokens de texto sin formato, que ahora se ha mejorado. Esto ha mejorado la seguridad y el almacenamiento de los tokens generados.

TTL de caché:

La configuración de almacenamiento en caché de minutos ahora ha cambiado a segundos. Esta mejora se realiza para un control más preciso y granular del tiempo de expiración. La función cumple con el estándar de biblioteca de almacenamiento en caché PSR-16.

Además, recuerde siempre actualizar el almacenamiento en caché de su aplicación a segundos.

 // Laravel 5.7 - Almacenar artículo durante 5 minutos ...
Caché :: put ('foo', 'bar', 10);

// Laravel 5.8 - Almacenar artículo durante 5 segundos ...
Caché :: put ('foo', 'bar', 10);

Configuración de la zona horaria del programador:

Esta nueva versión de Laravel te permite personalizar la zona horaria para una tarea listada usando el método de zona horaria.

 $ horario-> comando ('ejecutar')
-> diario ()
-> a las ('15: 00 ')
-> zona horaria ('América / Chicago');

Esto se consideraba una tarea complicada en la versión anterior, ya que tenía que hacerlo para cada tarea programada. Pero con esto, solo ahora tiene que definir un método llamado ScheduleTimezone en el archivo app / Console / Kernel.php.

Luego, los cambios se adjuntarán a cada programador de la lista.

 / **
* Obtenga la zona horaria que se debe utilizar de forma predeterminada para los eventos programados.
*
* @return \ DateTimeZone | cadena | nulo
* /
función protegida scheduleTimezone ()
{
devuelve 'América / Chicago';
}

Mejoras en la convocatoria artesanal:

Puede hacer el comando Artisan usando el método Artisan :: call en esta nueva versión. Los comandos ahora se pueden pasar como una matriz en una sola cadena como se indica a continuación:

 Artisan :: call ('migrar: instalar --database = foo');

Mejoras en el servicio artesanal:

Las versiones anteriores tenían el puerto predeterminado asignado en 8000 en el que se ejecutará la aplicación. Y si cualquier otro comando se está ejecutando en este puerto, probablemente no servirá el nuevo comando.

La nueva versión escaneará el puerto hasta 8009, lo que permitirá a los desarrolladores ejecutar varias aplicaciones al mismo tiempo.

Métodos auxiliares de prueba simulada / espía:

Las pruebas simuladas solo ayudarán al desarrollador a hacer que el código sea más limpio y legible. Los métodos de simulación y espionaje se agregan a la clase de caso de prueba base de Laravel. Este método vinculará automáticamente la clase a simular con el contenedor.

 función pública testBasicTest ()
{
$ this-> mock (TransactionService :: class, function ($ mock) {
$ mock-> shouldReceive ('find') -> once () -> with (1) -> andReturn (['id' => 1, 'name' => 'foo'])
});
}

Orden superior o método elocuente:

En las versiones anteriores, definiríamos la consulta con ámbito con "o" en las devoluciones de llamada de cierre. Con la introducción de un método de "orden superior" oWhere, puede encadenar fácilmente estas consultas de alcance de forma colectiva sin utilizar cierres. Por ejemplo:

 $ usuarios = Aplicación \ Usuario :: emailVerified () -> orWhere-> active () -> get ();

dotenv 3.0:

Para administrar el nuevo archivo .env de su proyecto, Laravel 5.8 admitirá el nuevo dotenv 3.0. Este nuevo dotenv 3.0 admite cadenas de varias líneas y espacios en blanco al final de las cadenas. Esta función sería de gran ayuda cuando se requieran claves API de varias líneas por motivos de seguridad.

Nuevas plantillas de página de error:

Se introducen nuevas páginas de error con diseños muy minimalistas que son adecuados para una amplia gama de sitios web y aplicaciones. Incluso es posible personalizar las páginas de error o importar la página de error diseñada anteriormente.

Hay muchas empresas de desarrollo de Laravel para el desarrollo de aplicaciones. Esta nueva versión es un tesoro de algunas de las increíbles funciones. El contenido anterior ha enumerado algunas de las mejoras notables y características extendidas en la nueva versión de Laravel 5.8.

Algunas de las funciones se pueden integrar sin problemas en los sitios web para que sean más funcionales y fáciles de usar.

Para actualizar su aplicación en ejecución a Laravel versión 5.8 , puede consultar la guía de actualización y las notas de la versión en el sitio oficial.