La colonne tutorielle suivante de Laravel vous présentera les modifications apportées à la dernière version de Laravel 9.35. J'espère qu'elle sera utile à tout le monde !
L'équipe Laravel a publié la version 9.35, qui propose une nouvelle et intéressante syntaxe de courrier électronique alternative, une fonctionnalité de « mode strict » éloquent, et bien plus encore.
Taylor Otwell a contribué à une syntaxe de courrier électronique en renvoyant "un objet compact qui spécifie le contenu et les propriétés pouvant être envoyés par courrier électronique".
Voici un exemple de description de sa pull request :
namespace App\Mail; use Illuminate\Bus\Queueable; use Illuminate\Contracts\Queue\ShouldQueue; use Illuminate\Mail\Mailable; use Illuminate\Mail\Mailables\Address; use Illuminate\Mail\Mailables\Attachment; use Illuminate\Mail\Mailables\Content; use Illuminate\Mail\Mailables\Envelope; use Illuminate\Queue\SerializesModels; class InvoicePaid extends Mailable { use Queueable, SerializesModels; /** * 创建一个邮件实例 * * @return void */ public function __construct() { // } /** * 获取邮件信封 * * @return \Illuminate\Mail\Mailables\Envelope */ public function envelope() { return new Envelope( subject: 'Invoice Paid', cc: [new Address('foo@example.com', 'Example Name')], tags: [], metadata: [], ); } /** * 获取邮件内容定义 * * @return \Illuminate\Mail\Mailables\Content */ public function content() { return new Content( view: 'html-view-name', text: 'text-view-name', ); } /** * 获取邮件的附件 * * @return \Illuminate\Mail\Mailables\Attachment[] */ public function attachments() { return [ Attachment::fromPath('/path/to/file'), ]; } }
La manière traditionnelle de définir les e-mails à l'aide de build()
ne sera pas supprimée. Ce que j'aime dans l'exemple ci-dessus, c'est que l'utilisation des paramètres nommés de PHP 8 est beaucoup plus claire. build()
定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。
Chris Morrell 和 Taylor Otwell 合作开发了 Eloquent 严格模式,该模式支持以下功能:
要在开发中使用严格模式,方法是将以下内容添加到已注册服务提供者的 boot()
方法中:
Model::shouldBeStrict();
shouldBeStrict()
方法是启用以下所有功能的快捷方式:
Model::preventLazyLoading(); Model::preventSilentlyDiscardingAttributes(); Model::preventsAccessingMissingAttributes();
Andrew Brown 提供了使用以下路由语法加载带有资源路由的废弃模型的能力:
// 所有终结点 Route::resource('users', UserController::class)->withTrashed(); // 仅`显示` Route::resource('users', UserController::class)->withTrashed(['show']);
你可以在GitHub上看到下面完整的新功能和更新列表以及[9.34.0]和9.35.0](github.com/laravel/framework/compa...) 之间的区别。以下发行说明直接来自 changelog:
Illuminate/Database/Eloquent/Model::shouldBeStrict()
和其他 (#44283)make:cast --inbound
,所以它是一个布尔选项,而不是值 (#44505)Model::without Timestamps()
boot()
d'un fournisseur de services enregistré : Le ShouldBeStrict() est un raccourci pour activer tous les éléments suivants :
Ajouté🎜Andrew Brown offre la possibilité de charger des modèles obsolètes avec des itinéraires de ressources en utilisant la syntaxe de routage suivante :
rrreeeNotes de versionVous pouvez voir la liste complète des nouvelles fonctionnalités et mises à jour ci-dessous ainsi que la différence entre [9.34.0] et 9.35.0](github.com/laravel/framework/compa...) sur GitHub. Les notes de version suivantes sont tirées directement du journal des modifications :
v9.35.0
Illuminate /Database/Eloquent/Model ::shouldBeStrict()
et autres (#44283) 🎜🎜Le middleware du contrôleur n'analyse pas les contrôleurs (#44516) 🎜🎜Sélectionnez la syntaxe mailable (#44462) 🎜🎜🎜Corrigé🎜make:cast --inbound
donc c'est une option booléenne plutôt qu'une valeur (#44505) 🎜🎜🎜Modification 🎜Model::without Timestamps()
renvoyer la valeur de retour du rappel (#44457) 🎜🎜Chargez uniquement les modèles obsolètes sur les routes pertinentes ( #44478) 🎜🎜Ajoutez des extensions PHP supplémentaires à la fonction ShouldBlockPhpUpload (#44512) 🎜🎜Enregistrez les roulettes cutInternals pour les objets particulièrement bruyants (#44514) 🎜🎜Utilisez la méthode get pour accéder aux paramètres régionaux de l'application (#44521) 🎜🎜Renvoyer uniquement une réponse non vide à partir du canal (09d53ee, 3944a3e) 🎜🎜Corriger la correspondance du canal (#44531) 🎜🎜Migrer le composant de messagerie (#44527) 🎜🎜🎜🎜Adresse d'origine : https://laravel-news.com/laravel-9 -35-0🎜 🎜Adresse de traduction : https://learnku.com/laravel/t/72658🎜🎜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!