L'équipe Laravel a publié la version 9.37 cette semaine et a également publié quelques correctifs entre 9.37 et Laravel 9.36. La version de cette semaine ajoute la prise en charge du préchargement des ressources avec Vite, de nouveaux gestionnaires de violations strictes, la mise en cache de la vue détaillée de la sortie CLI, et bien plus encore.
Verbose View Cache
Andrew Brown a contribué à la possibilité de passer -v
dans la commande view:cache
pour afficher le répertoire dans lequel la commande recherche, et utilisez -vv
pour afficher chaque fichier dans le cache de commandes. [Recommandations associées : tutoriel vidéo Laravel]view:cache
命令中传递 -v
的功能,以输出命令正在查找的目录,以及通过 -vv
来查看命令缓存中的每个文件。【相关推荐:laravel视频教程】
php artisan view:cache -vv
这是一个例子,你会看到新安装的 Laravel 9.37 的情况:
处理静默丢弃与属性丢失的方法
Aaron Francis 提供了为“静默丢弃”和“缺少属性”严格模式冲突注册处理程序的功能:
Model::handleMissingAttributeViolationUsing( function ($model, $key) { // ... });Model::handleDiscardedAttributeViolationUsing( function ($model, $keys) { // ... });
传递救援报告参数的闭包
@foremtehan 贡献了在使用 rescue()
时将可调用对象作为 $report
参数传递,以便你可以根据返回的布尔值有条件地报告错误:
rescue(fn() => 'error', fn() => 'rescue', function(Throwable $e){ return $e instanceof SomeException;});
支持使用 Vite 预加载资源
Tim MacDonald 使用 Vite 预加载当前页面所需的资源。它现在是使用 Vite 的 Laravel 应用程序的默认行为。它如何工作的细节非常复杂,我建议阅读 Pull Request #44096. 此外,你还可以了解有关背后的一般概念的更多信息 预加载关键资源以提高加载速度.
查询构造器 RawValue方法
@eusonlito 贡献了 rawValue()
方法,支持使用SQL表达式来获取值。 以下是一些使用示例:
$first = TripModel::orderBy('date_at', 'ASC') ->rawValue('YEAR(`date_at`)');$last = TripModel::orderBy('date_at', 'DESC') ->rawValue('YEAR(`date_at`)');$fullname = UserModel::where('id', $id) ->rawValue('CONCAT(`first_name`, " ", `last_name`)');
发行说明
您可以在下方查看新功能和更新的完整列表,以及9.36.0 和 9.37.0之间的差异。以下发行说明来自 changelog:
v9.37.0
Illuminate/Mail/Mailables/Content::htmlString()
(#44703)v9.36.4
Illuminate/Filesystem/FilesystemAdapter::checksum()
rrreee$report
lors de l'utilisation de rescue()
afin que vous puissiez signaler conditionnellement les erreurs en fonction de la valeur booléenne renvoyée : Prend en charge le préchargement des ressources à l'aide de ViteTim MacDonald Utilisez Vite pour précharger les ressources requises pour la page actuelle. C'est désormais le comportement par défaut pour les applications Laravel utilisant Vite. Les détails de son fonctionnement sont assez complexes et je vous recommande de lire la Pull Request #44096. Vous pouvez également en savoir plus sur les concepts généraux derrière le préchargement des ressources clés pour améliorer la vitesse de chargement
🎜🎜🎜🎜Query Builder RawValue Method 🎜🎜🎜@. eusonlito a contribué à la méthoderawValue()
, qui prend en charge l'utilisation d'expressions SQL pour obtenir des valeurs. Voici quelques exemples d'utilisation : 🎜rrreee🎜🎜🎜🎜Notes de version🎜🎜🎜Vous pouvez voir la liste complète des nouvelles fonctionnalités et mises à jour ci-dessous, ainsi que les différences entre 9.36.0 et 9.37.0. Les notes de version suivantes proviennent du journal des modifications : 🎜🎜🎜🎜🎜v9.37.0🎜🎜🎜🎜🎜 Ajouté 🎜🎜🎜 Sortie détaillée facultative lors de l'ajout de la mise en cache des vues (#44673) 🎜🎜 Autoriser le passage des fermetures pour enregistrer le paramètre $report (# 44710)🎜🎜Prise en charge de l'utilisation de Vite pour précharger les ressources (#44096)🎜🎜Ajouter Illuminate/Mail/Mailables/Content::htmlString()
(#44703)🎜🎜🎜🎜🎜Fix🎜🎜🎜Fix Modèle: Afficher le registre getAtTribute () comme accessoire nul (# 44683) 🎜🎜fix Attente des assertions de sortie dans EntendeCommand (# 44723) 🎜🎜🎜🎜🎜🎜v9.36.4🎜🎜🎜🎜🎜add 🎜🎜🎜 pour le constructeur de requête de base de données ajouté ajouté ajouté ajouté ajouté à Builder Builder ajouté ajouté ajouté à Database Query Builder ajouté valeurs primitives (et comme wrapper pour Eloquent) (#44631)🎜🎜Ajout de TransactionCommitting (#44608)🎜🎜Ajout de dontIncludeSource à CliDumper et HtmlDumper (#44623)🎜🎜Ajout de Illuminate/Filesystem/FilesystemAdapter::checksum ( )
(#44660)🎜🎜Ajouter des gestionnaires pour les suppressions silencieuses et les conflits d'attributs manquants (#44664)🎜🎜🎜🎜🎜Restore🎜🎜🎜Restore" Autoriser l'utilisation de MustVerifyEmail comme clé primaire sur les modèles sans identifiant » (#44672 ) 🎜🎜🎜🎜🎜Modifier 🎜🎜🎜 Créer une nouvelle instance de pack de paramètres Json lors de la demande de clonage (#44671) 🎜🎜Empêcher le fournisseur de démarrer lors de l'exécution d'env:decrypt (#44654) 🎜🎜🎜🎜🎜🎜 v9.36.3🎜 🎜Illuminate/Database/Eloquent/Model::offsetExists()
(#44642) v9.36.2
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!