Die folgende Tutorial-Kolumne von Laravel stellt Ihnen vor: „Laravel 8.77 ist veröffentlicht, diese Funktionen wurden verbessert“, ich hoffe, es wird für alle hilfreich sein!
Das Laravel-Team veröffentlichte Version 8.77 mit Verbesserungen an Eigenschaftskonvertierungen/Accessoren, der Anforderung der date()-Methode für den Zugriff auf Daten als DateTime-Instanz, der MAC-Adressvalidierung, der Möglichkeit, benutzerdefinierte temporäre URLs auf der Speicherfestplatte zu definieren, und in Version 8. x Der zuletzt geänderte Zweig. [Empfohlen: „Laravel-Video-Tutorial“]
Taylor Otwell bietet eine neue Möglichkeit, Eigenschaftszugriffsfunktionen und -modifikatoren zu definieren:
// 之前, 两个方法的方式 public function setTitleAttribute($value) { $this->attributes['title'] = strtolower($value); } // 新的方式 protected function title(): Attribute { return new Attribute( set: fn ($value) => strtolower($value), ); }
Hier ist ein Beispiel mit get- und set-Implementierung von:
/** * 获取用户的标题 */ protected function title(): Attribute { return new Attribute( get: fn ($value) => strtoupper($value), set: fn ($value) => strtolower($value), ); }
Um mehr zu erfahren, schauen Sie sich den Pull-Request für diese Funktion sowie die Beschreibung und Diskussion dieser Funktion an.
@Italo bietet eine date()
-Methode für Anforderungsinstanzen, wodurch es sehr praktisch ist, Datumsinstanzen aus Anforderungsdaten abzurufen: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
-Validierungsregel zur Validierung von MAC-Adressen beigesteuert: 🎜Hinzugefügt
Property-Konvertierung/Accessor-Verbesserungen (#40022)
Illuminate/View/Factory::renderUnless()
hinzugefügt > (#40077)🎜🎜Datum/Uhrzeit-Analyse zur Anforderungsinstanz hinzugefügt (#39945)🎜🎜Für jede Verbindung ist die Verwendung von Präfixen auf Predis aktiviert (#40083)🎜🎜Regeln zur Überprüfung von MAC-Adressen hinzugefügt (#40098)🎜🎜 Möglichkeit zum Definieren hinzugefügt Temporäre URLs für die Speicherung (#40100)🎜🎜🎜Behoben🎜🎜🎜Ein Fehler wegen unzureichendem Speicher wurde behoben, der im Redis-Treiber beim Löschen von Werten aus dem Cache durch Referenzieren eines Schlüssels auftreten konnte (#40039)🎜🎜Neuer Illuminate /Filesystem/FilesystemManager::setApplication()
(#40058)🎜🎜Parameterübergabe in der Methode „dontContain()“ korrigiert (739d847)🎜🎜Enum-Regelnachricht übersetzen (#40089)🎜🎜Fehler bei der Datumsvalidierung behoben (#40088) 🎜🎜Die Verwendung von Modellen mit „außer“ ist in PruneCommand.php (f62fe66) nicht zulässig. 🎜🎜🎜Geändert Ursprüngliche Adresse: https://laravel-news.com/laravel-8-77-0🎜🎜Übersetzungsadresse: https://learnku.com/laravel/t/64602🎜🎜Das obige ist der detaillierte Inhalt vonLaravel 8.77 ist veröffentlicht, diese Funktionen wurden verbessert!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!