Introducción
El 3 de marzo, el equipo de Laravel lanzó oficialmente Laravel 7.0. Como se indica en la política de soporte de Laravel, esta es una de las principales actualizaciones. Aunque esta versión no está designada como LTS, aún presenta muchas nuevas características y correcciones. La actualización proporcionará correcciones de errores hasta el 3 de septiembre de 2020 y correcciones de seguridad durante 1 año hasta el 3 de marzo de 2021.
Nuevas características en Laravel 7
X cuchilla
Laravel 7 finalizó el motor de plantillas Blade al agregar características X completamente nuevas. Este paquete proporciona una manera fácil de representar componentes HTML personalizados en sus vistas Blade.
Anteriormente, debería haber escrito así:
@include('myAlert', ['type' => 'error', 'message' => $message])
Ahora, usando x blade, se verá así:
<my-alert type="error" :message="$message" />
Trozos personalizados
Para configurar archivos de código auxiliar, debe publicarlos:
php artisan stub:publish
Después de ejecutar este comando, se agregará un nuevo directorio a su proyecto.
Operaciones de cadena libre
Anteriormente, la clase llluminate \ Support \ str proporcionaba muchas funciones de cadena útiles. Laravel 7 ahora ofrece una biblioteca de cadenas más orientada a objetos y libre construida sobre estas funciones.
llluminate\Support\Striangable Str::of. :
return (string) Str::of(' Laravel Framework 6.x ')
->trim()
->replace('6.x', '7.x')
->slug();
Zttp HTTP-
Zttp — Guzzle, . Zttp — PHP, Guzzle, .
Laravel Airlock
Laravel Airlock — , (SPA), API . C Airlock API . / , , .
Laravel 7 . (mailer), mail, “”, .
Eloquent (Custom Eloquent Casts)
, , get set. get , set , . , json :
<?php
namespace App\Casts;
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
class Json implements CastsAttributes
{
public function get($model, $key, $value, $attributes)
{
return json_decode($value, true);
}
public function set($model, $key, $value, $attributes)
{
return json_encode($value);
}
}
(CORS)
Laravel CORS OPTION . CORS CORS, OPTIONS HandleCors, .
En ocasiones, debe aplicar una transformación al ejecutar una consulta, por ejemplo, al seleccionar un valor bruto de una tabla. Consideremos la siguiente consulta:
$users = User::select([
'users.*',
'last_posted_at' => Post::selectRaw('MAX(created_at)')
->whereColumn('user_id', 'users.id')
])->withCasts([
'last_posted_at' => 'date'
])->get()
Resumen
Debo decir que esta actualización hace que Laravel 7 sea aún más fácil y más agradable de usar. Tantas características tan esperadas finalmente se implementan y están listas para usar.
Creo que este es un gran lanzamiento, y espero con interés la próxima actualización. ¡Espero que sientas lo mismo!