La colonne tutorielle suivante de Laravel vous présentera "Laravel 8.77 est sorti, ces fonctions ont été améliorées", j'espère qu'elle sera utile à tout le monde !
L'équipe Laravel a publié la version 8.77 avec des améliorations des conversions/accesseurs de propriétés, demandant la méthode date() pour accéder aux données en tant qu'instance DateTime, la validation de l'adresse MAC, la possibilité de définir des URL temporaires personnalisées sur le disque de stockage et dans la v8. x La dernière branche modifiée. [Recommandé : "tutoriel vidéo laravel"]
Taylor Otwell propose une nouvelle façon de définir les accesseurs et modificateurs de propriété :
// 之前, 两个方法的方式 public function setTitleAttribute($value) { $this->attributes['title'] = strtolower($value); } // 新的方式 protected function title(): Attribute { return new Attribute( set: fn ($value) => strtolower($value), ); }
Voici un exemple avec get et set Implémentation de :
/** * 获取用户的标题 */ protected function title(): Attribute { return new Attribute( get: fn ($value) => strtoupper($value), set: fn ($value) => strtolower($value), ); }
Pour en savoir plus, consultez la pull request pour cette fonctionnalité ainsi que la description et la discussion de cette fonctionnalité.
@Italo fournit une méthode date()
pour les instances de requête, ce qui rend très pratique l'obtention d'instances de date à partir des données de requête :date()
方法,使得从请求数据获取日期实例变得非常方便:
// 以前 if ($date = $request->input('when')) { $date = Carbon::parse($datetime); } // 之后 $date = $request->date('when');
Ben Tidy 有助于在Predi的每个连接基础上使用前缀。以下是Redis配置的pull请求的示例:
'redis' => [ 'client' => env('REDIS_CLIENT', 'predis'), 'default' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_DB', 0), 'prefix' => env('REDIS_PREFIX', 'prefix:'), ], 'cache' => [ 'host' => env('REDIS_HOST', '127.0.0.1'), 'password' => env('REDIS_PASSWORD', null), 'port' => env('REDIS_PORT', 6379), 'database' => env('REDIS_CACHE_DB', 1), 'prefix' => env('REDIS_PREFIX', 'prefix2:'), ], ],
Bilal Al-Massry 贡献了 mac_address
验证规则, 用于验证 MAC 地址:
$trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => 'foo'], ['mac' => 'mac_address']); $this->assertFalse($v->passes()); $trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => '01-23-45-67-89-ab'], ['mac' => 'mac_address']); $this->assertTrue($v->passes()); $trans = $this->getIlluminateArrayTranslator(); $v = new Validator($trans, ['mac' => '01-23-45-67-89-AB'], ['mac' => 'mac_address']); $this->assertTrue($v->passes());
Ash Allen 贡献了为 Storage 门面定义自定义临时URL逻辑的能力。 以下是拉取请求的几个示例:
Storage::disk('local') ->buildTemporaryUrlUsing(function ($path, $expiration, $options) { return 'using local'; }); // $url is: 'using local' $url = Storage::temporaryUrl('file.jpg', now()->addMinutes(5));
您可以在 github 上看到以下新功能和更新的完整列表以及 8.76.0 and 8.77.0 之间的差异。 以下发行说明直接来自 变更日志:
Illuminate/View/Factory::renderUnless()
(#40077)Illuminate/Filesystem/FilesystemManager::setApplication()
rrreeemac_address
pour valider les adresses MAC : 🎜Ajout deAjouté
Améliorations de la conversion/de l'accès aux propriétés (#40022)
Illuminate/View/Factory::renderUnless()
(#40077)🎜🎜Ajout de l'analyse datetime à l'instance de requête (#39945)🎜🎜Activation de chaque connexion pour utiliser des préfixes sur Predis (#40083)🎜🎜Ajout de règles pour vérifier les adresses MAC (#40098)🎜🎜 Ajout de la possibilité de définir URL temporaires pour le stockage (#40100)🎜🎜🎜Corrigé🎜🎜🎜Correction d'une erreur de mémoire insuffisante qui pouvait survenir dans le pilote Redis lors de la suppression de valeurs du cache en faisant référence à une clé (#40039)🎜🎜Nouveau Illuminate /Filesystem/FilesystemManager::setApplication()
(#40058)🎜🎜Correction du paramètre passant dans la méthode makesntContain() (739d847)🎜🎜Traduire le message de règle Enum (#40089)🎜🎜Correction de la validation de la date (#40088) 🎜🎜L'utilisation de modèles avec except n'est pas autorisée dans PruneCommand.php (f62fe66)🎜🎜🎜Changed🎜🎜🎜Utiliser la fonctionnalité spécifique à la commande d'explication de base de données pour QueryBuilder:explain via la méthode EloquentQuery::explain (# 40075)🎜🎜🎜🎜🎜 Adresse originale : https://laravel-news.com/laravel-8-77-0🎜🎜Adresse de traduction : https://learnku.com/laravel/t/64602🎜🎜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!