Laravel 10 ist jetzt veröffentlicht, einschließlich der mindestens erforderlichen Version von PHP v8.1, dem neuen Laravel Pennant-Paket, aufrufbaren Validierungsregeln, lokalen Typdeklarationen und mehr.
Laravel-Veröffentlichungsplan
Vor Laravel 9 wurden wichtige Framework-Versionen zweimal im Jahr oder etwa alle sechs Monate veröffentlicht. Beginnend mit Laravel 9 wechselte das Kernteam zu einem Jahresplan und veröffentlichte Laravel 9 im Februar 2022 (statt wie ursprünglich geplant im September 2021).
Laravel nutzt eine Reihe von Community-gesteuerten Paketen sowie neun Symfony-Komponenten, um viele Funktionen im Framework zu implementieren. Symfony 6.0 wird voraussichtlich im November veröffentlicht. Aus diesem Grund haben wir beschlossen, die Veröffentlichung von Laravel 9.0 auf 2022 zu verschieben.
Durch die Verzögerung der Veröffentlichung können wir die zugrunde liegenden Symfony-Komponenten auf Symfony 6.0 aktualisieren, ohne bis September 2022 auf dieses Upgrade warten zu müssen. Darüber hinaus sind wir dadurch besser auf zukünftige Veröffentlichungen vorbereitet, da wir dies jedes Jahr innerhalb von zwei Monaten nach der Veröffentlichung von Symfony tun.
Zukünftig wird Laravel eine Hauptversion pro Jahr veröffentlichen, darunter:
Laravel 9 wird bis zum 8. August 2023 weiterhin Schwachstellen beheben und bis zum 14. Februar 2024 Sicherheitskorrekturen bereitstellen.
Laravel 10 bietet Fehlerbehebungen bis zum 6. August 2024 und Sicherheitskorrekturen bis zum 14. Februar 2025.
Als nächstes schauen wir uns einige der großen neuen Funktionen von Laravel 10 an:
Laravel 10 unterstützt PHP 8.0 nicht mehr
In Laravel 10 unterstützt das Laravel-Framework PHP
Laravel Pennant
Laravel Pennant ist ein vom Laravel-Team erstelltes Paket, das mit Laravel 10 veröffentlicht wird, um Feature-Flags für Ihre Anwendung bereitzustellen.
Mit Feature-Flags können Sie neue App-Funktionen sicher schrittweise einführen, neue Schnittstellendesigns A/B-Tests durchführen, Trunk-basierte Entwicklungsstrategien ergänzen und vieles mehr.
Dieses Paket ist das neueste in der offiziellen Reihe von Paketen, die vom Kernteam bereitgestellt werden. Das bedeutet, dass wir jetzt über ein gut aufgebautes, getestetes Paket verfügen, das uns einige großartige Funktionen bietet.
Laravel’s Process Layer
Laravel Process Service macht das Testen und Ausführen von CLI-Prozessen zu einer fantastischen Aufgabe.
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);
Die Prozessschicht enthält sofort einsatzbereite umfangreiche Funktionen, wie zum Beispiel:
fake()
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
verhindert unordentliche Prozesse beim Testen
Testprozesse waren noch nie einfacher.
Lokale Typdeklaration im Laravel 10-Skelett 🎜🎜🎜In Laravel 10 wird der Anwendungsskelettcode dort angezeigt sind lokale Typdeklarationen 🎜. Das bedeutet, dass jeder vom Framework generierte Userland-Code über Typhinweise und Rückgabetypen verfügt. In unserem Artikel werden die Überlegungen zu diesem Ansatz erörtert und wir glauben, dass Sie die zusätzlichen Typen zu schätzen wissen werden, wenn Sie in Zukunft neue Projekte erstellen. 🎜🎜Die Art und Weise, Typen hinzuzufügen, kann die neuesten PHP-Typhinweise in Laravel-Projekte bringen, ohne die Abwärtskompatibilität auf Framework-Ebene zu beeinträchtigen: 🎜🎜🎜Rückgabetypen🎜🎜Methodenparameter🎜🎜Entfernen Sie überflüssige Kommentare so weit wie möglich🎜 🎜Benutzer lokal zulassen Typen in Abschlussparametern 🎜🎜Eigenschaften definierter Typen nicht einbeziehen 🎜🎜🎜🎜Aufrufbare Validierungsregeln werden zu Standardregeln🎜🎜🎜Ab Laravel 10, Aufrufbare Validierungsregeln 🎜 sind jetzt die Standardregeln. Wenn Sie über Artisan eine neue Validierungsregel erstellen, können Sie Folgendes erwarten: 🎜use Illuminate\Support\Str; $password = Str::password(); // 'EbJo2vE-AS:U,$%_gkrV4n,q~1xy/-_4' $password = Str::password(12); // 'qwuar>#V|i]N'
--profile</ code>, die es schafft So können Sie ganz einfach alle langsamen Tests in Ihrer Anwendung finden. 🎜🎜<img src="https://img.php.cn/upload/image/562/252/516/1676865566811048.jpg" title="1676865566811048.jpg" alt="Ein kurzer Überblick über die neuen Funktionen von Laravel10!" />🎜 🎜 < Die Option --profile
kann dabei helfen, Ihre 🎜Schnelltests🎜 zu erhalten, langsame Tests zu reparieren oder sie besser zu gruppieren, damit Sie sie nicht ständig ausführen müssen. 🎜🎜🎜Neuer String-Passwort-Helfer🎜🎜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 #42590assertTimesSent
方法 Pull Request #42592ScheduleListCommand
$defaultName
特性 419471eRoute::home
方法 Pull Request #42614dispatchNow
功能 Pull Request #42591测试 Laravel 10
如果你现在就想开始测试Laravel 10,你可以通过使用 --dev
标志将它安装到一个新项目中:
laravel new <your-project-name> --dev
升级到 Laravel 10
最简单的升级方法是利用 Laravel变化 并且它可以自动地始终保持应用程序的更新,或者根据官方文档 升级指南。
更多...
你也可以查看 官方发布的页面 查找可用的最新信息。
Das obige ist der detaillierte Inhalt vonEin kurzer Überblick über die neuen Funktionen von Laravel10!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!