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.
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.0Dans Laravel 10, le framework Laravel ne prendra plus en charge PHPLaravel 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 Laraveluse Illuminate\Support\Facades\Process; $result = Process::run('ls -la'); $result->successful(); $result->failed(); $result->exitCode(); $result->output(); $result->errorOutput(); $result->throw(); $result->throwIf($condition);
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
测试的配置文件选项
Laravel 10 的一个新功能是 --profile
选项,这将使你很容易找到你的应用程序中所有缓慢的测试。
--profile
Processus lorsque la sortie est reçue
Pool de processus
implémente des fonctions de test riches viafake()
🎜🎜é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'🎜🎜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. " 🎜 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🎜🎜<p><code>Str::password
方法可以生成给定长度的安全、随机的密码。密码将由字母、数字、符号和空格组成。默认情况下,密码的长度为32个字符:use Illuminate\Support\Str; $password = Str::password(); // 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4' $password = Str::password(12); // 'qwuar>#V|i]N'
Laravel 9的弃用
Laravel 9中标记为已弃用的方法在Laravel 10中被删除。我们可以期待发行版升级指南概述所有不推荐的方法、潜在影响评估,以及如何升级到更接近发行版。
以下内容是在撰写本文时, 将Laravel 框架 master
主分支到 9.x
分支的 对比 中发现的一些弃用点:
handleDeprecation
方法 Pull Request #42590
assertTimesSent
方法 Pull Request #42592
ScheduleListCommand
$defaultName
特性 419471e
Route::home
方法 Pull Request #42614
dispatchNow
功能 Pull Request #42591
测试 Laravel 10
如果你现在就想开始测试Laravel 10,你可以通过使用 --dev
标志将它安装到一个新项目中:
laravel new <your-project-name> --dev</your-project-name>
升级到 Laravel 10
最简单的升级方法是利用 Laravel变化 并且它可以自动地始终保持应用程序的更新,或者根据官方文档 升级指南。
更多...
你也可以查看 官方发布的页面 查找可用的最新信息。
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!