Maison > titres > Laravel 7 est sur le point de sortir, jetons un coup d'œil à ses nouvelles fonctionnalités et fonctions !

Laravel 7 est sur le point de sortir, jetons un coup d'œil à ses nouvelles fonctionnalités et fonctions !

Libérer: 2020-03-04 15:47:28
avant
5566 Les gens l'ont consulté

Laravel 7 est sur le point de sortir, jetons un coup d'œil à ses nouvelles fonctionnalités et fonctions !

La date de sortie officielle de Laravel 7 est le 3 mars 2020. Selon la politique de publication des versions majeures de Laravel de Laravel Framework tous les 6 mois (février et août), il s'agit d'une autre version majeure. Il ne s'agit pas d'une version LTS, donc selon la politique de support de la version Laravel, ils fournissent 6 mois de support pour les corrections de bogues jusqu'au 3 septembre 2020 et 1 an de support pour les correctifs de problèmes de sécurité jusqu'au 3 mars 2021. Jetons un coup d'œil aux nouvelles fonctionnalités et améliorations de Laravel 7. (article technique laravel)

Nouvelles fonctionnalités de Laravel 7

● Laravel Airlock

● Zttp pour le client HTTP

● Prise en charge CORS

● Cast éloquent personnalisé

● Fonctionnement fluide des chaînes

● Blade X

● Stubs personnalisables

● Conversion du temps de requête

● Pilotes de messagerie multiples

● Nouvelles commandes artisanales

Améliorations dans Laravel 7

● Modèle de routage améliorations de la liaison

● Routage 2 fois plus rapide

● Améliorations de la file d'attente de la base de données

● Améliorations du modèle d'e-mail Markdown

● Et plus de corrections de bugs et d'améliorations.

Laravel Airlock

Laravel Airlock est le package officiel pour l'authentification API. Il fournit une authentification API simple basée sur des jetons, l'émission de jetons, des capacités de jetons, l'authentification d'applications mobiles, etc.

Zttp pour le client HTTP

En utilisant Zttp, envoyer des requêtes HTTP à l'API serait un moyen meilleur et plus propre.

Publier une demande

<?php
use Illuminate\Support\Facades\Http;
$response = Http::post($url);
$response = Http::post($url, [
    &#39;site&#39; => &#39;Laravel Article&#39;,
]);
Copier après la connexion

Obtenir une réponse

$response = Http::get($url);
$response = Http::get($url,[&#39;foo&#39;=>&#39;bar&#39;]);
Copier après la connexion

Avec en-têtes de demande

$response = Http::withHeaders([&#39;foo&#39; => &#39;bar&#39;])->post($url, [
    &#39;baz&#39; => &#39;qux&#39;,
]);
Copier après la connexion

Réponse

$response[&#39;foo&#39;]
$response->body()
$response->json()
$response->status()
$response->ok()
Copier après la connexion

Support CORS

Laravel 7 prend désormais en charge CORS (Cross-Origin Resource Sharing) dès la sortie de la boîte. Vous devez mieux comprendre que chaque développeur a rencontré des problèmes CORS lors du développement d'API. Laravel 7 répond désormais automatiquement aux requêtes OPTION en utilisant des valeurs de configuration. Laravel 7 est livré avec le middleware HandleCors prêt à l'emploi qui fait tout.

Casting éloquent personnalisé

Casting éloquent personnalisé dans Laravel 7 est une autre fonctionnalité intéressante. Cette fonctionnalité vous permettra d'ajouter des diffusions personnalisées. Jetons un coup d'œil à JSON Caster.

<?php
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);
    }
}
Copier après la connexion

Nous pouvons désormais utiliser notre distribution éloquente personnalisée dans notre modèle.

<?php
namespace App;
use App\Casts\Json;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    protected $casts = [
        &#39;extra&#39; => Json::class,
    ];
}
Copier après la connexion

Manipulation fluide des chaînes

Dans Laravel 7, vous pouvez utiliser la classe IlluminateSupportStr pour faire des choses plus intéressantes orientées objet.

$currentVersion = (string) Str::of(&#39;  Laravel 6.x &#39;);
return $currentVersion->trim()
        ->replace(&#39;6.x&#39;, &#39;7.x&#39;)
        ->slug();
// laravel-7x
Copier après la connexion

Blade X

La fonctionnalité Laravel 7 Blade X vous permet de créer des composants sans classe.

Générer un composant x

@php($user = $user ?? Auth::user())
@php($size = $size ?? 50)
<img
    class="inline-block rounded-full"
    src="{{ $user->gravatarUrl($size) }}"
    width="{{ $size }}"
    height="{{ $size }}"
/>
Copier après la connexion

Utilisation de Blade x

<x-avatar/>
<x-avatar size="40" />
<x-avatar size="100" />
Copier après la connexion

Stubs personnalisés

Vous pouvez désormais utiliser la commande artisanale dans les stubs personnalisés dans Laravel 7.x.

php artisan stub:publish
Copier après la connexion

Conversion du temps de requête

Laravel 7 fournit la méthode withCasts qui vous aide à convertir des valeurs lors de l'exécution d'une requête. Donnons un exemple.

$users = User::select([
    &#39;users.*&#39;,
    &#39;last_posted_at&#39; => Post::selectRaw(&#39;MAX(created_at)&#39;)->whereColumn(&#39;user_id&#39;, &#39;users.id&#39;)
])
->withCasts([&#39;last_posted_at&#39; => &#39;date&#39;])
->get();
Copier après la connexion

Pilotes de messagerie multiples

Laravel 7 vous permettra de configurer plusieurs pilotes de messagerie à l'aide d'une seule application.

Mail::mailer(&#39;noreply&#39;)
        ->to($request->user())
        ->send(new PostUpdated($post));
Copier après la connexion

Nouvelle commande artisanale

Une nouvelle commande de test artisanal a été ajoutée à Laravel 7. La nouvelle commande artisan test vous offre une belle UX et des informations utiles sur vos tests.

php artisan test
Copier après la connexion

Améliorations dans Laravel 7

● Améliorations de la liaison du modèle de routage

● Routage 2 fois plus rapide

● Améliorations de la file d'attente de la base de données

● Améliorations du modèle d'e-mail Markdown

● et davantage de corrections de bugs et d'améliorations.

Améliorations de la liaison du modèle d'itinéraire

Clé personnalisée

Par défaut, la liaison du modèle d'itinéraire fonctionne avec le champ ID. Vous pouvez désormais le personnaliser.

Route::get(&#39;posts/{post:slug}&#39;, function (App\Post $post) {
    return $post;
});
Copier après la connexion

Auto-scoping

Laravel 7 étendra automatiquement les requêtes pour récupérer les modèles imbriqués en utilisant la méthode qu'il identifie les conventions pour identifier les appels de relation dans votre programme.

use App\Post;
use App\User;
Route::get(&#39;api/users/{user}/posts/{post:slug}&#39;, function (User $user, Post $post) {
    return $post;
});
Copier après la connexion

Routage 2x plus rapide

Les performances de correspondance d'itinéraire de Laravel 7 sont 2x plus rapides que celles de Laravel 6 lors de l'utilisation de route:cache

Améliorations de la file d'attente de la base de données

Laravel 7 apporte des améliorations aux applications qui utilisent MySQL 8+ comme file d'attente sauvegardée sur une base de données.

Améliorations du modèle d'e-mail Markdown

Le modèle de démarque par défaut pour les e-mails a un look plus récent en utilisant la palette CSS Tailwind. Les modèles peuvent être publiés et personnalisés selon les besoins.

Pour plus de contenu lié à la programmation, veuillez faire attention à la colonne Introduction à la programmation sur le site Web PHP chinois !

Étiquettes associées:
source:NiZerin
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal