Maison > cadre php > Laravel > Un petit aperçu des nouvelles fonctionnalités de Laravel10 !

Un petit aperçu des nouvelles fonctionnalités de Laravel10 !

藏色散人
Libérer: 2023-02-20 19:40:16
avant
3790 Les gens l'ont consulté

Laravel 10 est maintenant disponible, comprenant la version minimale requise de PHP v8.1, le nouveau package Laravel Pennant, des règles de validation appelables, des déclarations de type locales, et bien plus encore.

Calendrier de sortie de Laravel

Avant Laravel 9, les principales versions du framework étaient publiées deux fois par an, soit environ tous les six mois. À partir de Laravel 9, l'équipe principale est passée à un plan annuel et a publié Laravel 9 en février 2022 (au lieu de septembre 2021 comme prévu initialement).

Laravel utilise un certain nombre de packages gérés par la communauté ainsi que neuf composants Symfony pour implémenter de nombreuses fonctionnalités dans le framework. Symfony 6.0 devrait sortir en novembre. Pour cette raison, nous avons décidé de retarder la sortie de Laravel 9.0 jusqu'en 2022.

En retardant la sortie, nous pouvons mettre à niveau les composants Symfony sous-jacents vers Symfony 6.0 sans avoir à attendre septembre 2022 pour cette mise à niveau. De plus, cela nous prépare mieux aux versions futures, puisque nous le faisons chaque année dans les deux mois suivant la sortie de Symfony.

  • en avant, Laravel publiera une version majeure par an, notamment:
Laravel 9: Sorti le 8 février 2022

Laravel 10: Sorti le 14 février 2023

Laravel 11: Q1 2024 Sortie

Laravel 9 continuera de corriger les vulnérabilités jusqu'au 8 août 2023 et de fournir des correctifs de sécurité jusqu'au 14 février 2024.

Laravel 10 fournira des corrections de bugs jusqu'au 6 août 2024 et des correctifs de sécurité jusqu'au 14 février 2025.

Ensuite, nous examinons certaines des grandes nouvelles fonctionnalités de Laravel 10 :

Laravel 10 ne prend plus en charge PHP 8.0

Dans Laravel 10, le framework Laravel ne prendra plus en charge PHP
Laravel Pennant

Laravel Pennant est un package créé par l'équipe Laravel et sera publié avec Laravel 10 pour fournir des indicateurs de fonctionnalités pour votre application.

Les indicateurs de fonctionnalités vous permettent de déployer progressivement de nouvelles fonctionnalités d'application en toute confiance, de tester A/B de nouvelles conceptions d'interface, de compléter des stratégies de développement basées sur des troncs, et bien plus encore.

Ce package est le dernier de la gamme officielle de packages fournis par l'équipe principale, ce qui signifie que nous disposons désormais d'un package bien construit et testé qui nous offre des fonctionnalités intéressantes.

La couche de processus de Laravel
  • Laravel Process Service
  • fait du test et de l'exécution des processus CLI un travail fantastique.
  • use Illuminate\Support\Facades\Process;
    
    $result = Process::run('ls -la');
    
    $result->successful();
    $result->failed();
    $result->exitCode();
    $result->output();
    $result->errorOutput();
    $result->throw();
    $result->throwIf($condition);
    Copier après la connexion
  • La couche de processus comprend de riches fonctions prêtes à l'emploi, telles que :
  • Grâce à la méthode de processus de streaming, une instance de processus est établie avant l'exécution fake() 实现丰富的测试功能
  • 防止测试中出现杂乱进程

测试进程从未如此简单。

Laravel 10 骨架中的本地类型声明

在 Laravel 10,应用程序骨架代码将有本地类型声明。这意味着任何由框架生成的用户区代码都会有类型提示和返回类型。我们的文章讨论了围绕该方法的注意事项,我们认为在未来创建新项目时,你会喜欢上增加的类型。

类型的添加方式可以为 Laravel 项目带来最新的 PHP 类型提示功能,而且不会破坏框架层面的后向兼容性:

  • 返回类型
  • 方法参数
  • 尽可能地删除多余的注释
  • 在闭包参数中允许用户本地类型
  • 不包括已定义类型的属性

可调用的验证规则成为默认规则

从 Laravel 10 开始, 可调用的验证规则 现在是默认的规则。 当你通过 artisan 创建一个新的验证规则时, 以下是你能在预想中得到的结果:

# Laravel 9 创建了一个规则类,实现了
# Illuminate\Contracts\Validation\Rule 接口
artisan make:rule Uppercase

# Laravel 9 创建一个可调用和隐性规则的标志
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit

# Laravel 10 默认会创建一个可调用的规则
artisan make:rule Uppercase

# Laravel 10 隐性规则
artisan make:rule Uppercase --implicit
Copier après la connexion

测试的配置文件选项

Laravel 10 的一个新功能是 --profile 选项,这将使你很容易找到你的应用程序中所有缓慢的测试。

Un petit aperçu des nouvelles fonctionnalités de Laravel10 !

 --profileProcessus lorsque la sortie est reçue

Processus asynchrone

Pool de processus

implémente des fonctions de test riches via fake() 🎜🎜évite les processus compliqués lors des tests 🎜🎜🎜Les processus de test n'ont jamais été aussi simples. 🎜🎜🎜Déclaration de type local dans le squelette de Laravel 10 🎜🎜🎜Dans Laravel 10, le code du squelette de l'application y sera sont des déclarations de type locales 🎜. Cela signifie que tout code utilisateur généré par le framework aura des indications de type et des types de retour. Notre article traite des considérations entourant cette approche et nous pensons que vous apprécierez les types ajoutés lors de la création de nouveaux projets à l'avenir. 🎜🎜La façon d'ajouter des types peut apporter les dernières astuces de type PHP aux projets Laravel sans rompre la compatibilité ascendante au niveau du framework : 🎜🎜🎜Types de retour🎜🎜Paramètres de méthode🎜🎜Supprimer autant que possible les commentaires redondants🎜 🎜Autoriser l'utilisateur local types dans les paramètres de fermeture 🎜🎜Ne pas inclure les propriétés des types définis 🎜🎜🎜🎜Les règles de validation appelables deviennent des règles par défaut🎜🎜🎜À partir de Laravel 10, Les règles de validation appelables 🎜 sont désormais les règles par défaut. Lorsque vous créez une nouvelle règle de validation via artisan, voici ce à quoi vous pouvez vous attendre : 🎜
use Illuminate\Support\Str;

$password = Str::password();

// 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4'

$password = Str::password(12);

// 'qwuar>#V|i]N'
Copier après la connexion
Copier après la connexion
🎜🎜Options de profil pour les tests🎜🎜🎜Une nouvelle fonctionnalité dans Laravel 10 est l'option --profile</ code>, cela la rendra il est facile pour vous de trouver tous les tests lents de votre application. " 🎜 < L'option --profile peut vous aider à préserver vos 🎜tests rapides🎜, à corriger les tests lents ou à mieux les regrouper afin qu'il soit plus facile d'éviter de les exécuter tout le temps. 🎜🎜🎜Nouvelle aide au mot de passe de chaîne🎜🎜

Str::password 方法可以生成给定长度的安全、随机的密码。密码将由字母、数字、符号和空格组成。默认情况下,密码的长度为32个字符:

use Illuminate\Support\Str;

$password = Str::password();

// &#39;EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4&#39;

$password = Str::password(12);

// &#39;qwuar>#V|i]N&#39;
Copier après la connexion
Copier après la connexion

Laravel 9的弃用

Laravel 9中标记为已弃用的方法在Laravel 10中被删除。我们可以期待发行版升级指南概述所有不推荐的方法、潜在影响评估,以及如何升级到更接近发行版。

以下内容是在撰写本文时, 将Laravel 框架 master 主分支到 9.x 分支的 对比 中发现的一些弃用点:

测试 Laravel 10

如果你现在就想开始测试Laravel 10,你可以通过使用 --dev 标志将它安装到一个新项目中:

laravel new <your-project-name> --dev
Copier après la connexion

升级到 Laravel 10

最简单的升级方法是利用 Laravel变化 并且它可以自动地始终保持应用程序的更新,或者根据官方文档 升级指南

更多...

你也可以查看 官方发布的页面 查找可用的最新信息。


原文地址:https://laravel-news.com/laravel-10?new

译文地址:https://learnku.com/laravel/t/75297

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
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