Das Laravel-Team hat gestern Version 7.6.0 veröffentlicht, die 13 neue Funktionen sowie die neuesten Korrekturen und Änderungen für den 7.x-Zweig enthält:
Neue „bis“-Methode zu Sammlungen hinzugefügt
Jason McCreary hat die Methode Collection::until()
beigesteuert, die die Sammlung durchlaufen kann, bis das Element die Bedingung erfüllt, und dann das Element zurückgeben kann:
// Before [$before, $after] = $primes->partition(function ($item) { return $item < 11; }); $before->dump(); // Using until $passed = $primes->until(11)->dump();
Diese Methode verwendet einen Abschluss oder einen Wert zum Vergleich die Sammlung.
String-Leermethoden
Mark van den Broek stellt einige praktische Methoden für Stringable und HtmlString bereit. Erstens erleichtert uns die HtmlString::isEmpty()
-Methode das Erkennen leerer Instanzen:
$string = new \Illuminate\Support\HtmlString(''); // Previously if (empty($string->toHtml())) // Using isEmpty if ($string->isEmpty())
Zweitens hat Mark auch die isNotEmpty()
-Methode
use Illuminate\Support\Stringable; (new Stringable())->isNotEmpty(); // false (new Stringable('Hello World'))->isNotEmpty(); // true
Trim-Methode der Stringable-Klasse beigesteuert
Ryan Chandler hat die Methoden ltrim und rtrim zur Stringable-Klasse beigetragen, die Zeichen am Anfang und Ende der Zeichenfolge kürzen kann:
use Illuminate\Support\Stringable; echo (new Stringable(' Hello World'))->ltrim(); // 'Hello World' echo (new Stringable('Hello World '))->rtrim(); // 'Hello World' echo (new Stringable('/example/'))->rtrim('/'); // '/example'
Spezifisches Routing ignoriert Middleware
@dsazup bietet Funktionen zum Überspringen von Middleware beim Definieren von Routen:
Route::get('/something') ->skipMiddleware(VerifyCsrfToken::class) Route::get('/teams/create') ->skipMiddleware(VerifyUserHasTeam::class)
Http-Client: JSON-Antwort als Objekt abrufen
Beigetragen von Adrian Nürnberger object()
-Methode, die den JSON-Antworttext in Form eines Objekts anstelle eines assoziativen Arrays zurückgeben kann:
// Array access Http::get('some-api.wip')['result']; // Using json() $response = Http::get('some-api.wip')->json(); $response['result'] // New option $response = Http::get('some-api.wip')->object(); $response->result;
Komponentenalias
Dries Vints hat zur Einstellung beigetragen der Alias für die Komponente:
Ich bin auf ein Szenario gestoßen, in dem ich den Inhalt einer Komponente basierend auf ihrem Alias bedingt rendern musste. Wenn Sie beispielsweise eine SVG-Komponente haben und <x:heroicon-o-bell />
als Alias für diese Komponente verwenden, gehen Sie wie folgt vor:
Blade::component(Svg::class, 'heroicon-o-bell');
Dies ist prägnanter als der <x:svg name="heroicon-o-bell"/>
-Ansatz. Durch das Hinzufügen von Aliasen zur Component-Klasse werden viele neue Verwendungsmöglichkeiten und Möglichkeiten für Blade-Komponenten hinzugefügt...
Attribute über eine eloquente Sammlung anhängen
Niels Faurskov hat einen Beitrag geleistet eloquente Sammlungsmethode append(), die bestimmte Attribute an die Sammlung anhängen kann:
// Before Laravel 7.6 $collection->each(function($model) { $model->append($attribute) }); // Append method $collection->append($attribute);
Unterstützt die Retry-After-Methode
@RyanDaDeng hat einen Methodenebenen-Support beigesteuert, er kann Ergänzen Sie das retryAfter des Warteschlangen-Listeners, um es auf fortgeschrittenere Anwendungsfälle anzuwenden:
// listener implementation public function retryAfter() { // 自定义 retryAfter 逻辑 }
Unterstützt die neue Version von Composer im installierten.json-Format
Jakub Arbet unterstützt die Snapshot-Funktion in der neuen Version von Composer 2 (noch nicht stabil), aber immer noch abwärtskompatibel mit älteren Composer-Versionen:
hat das Format von vendor/composer/installed.json
in der neuesten Snapshot-Version von Composer geändert, wodurch die Funktionalität des Softwarepakets zur automatischen Erkennung unterbrochen wurde. Diese PR behebt dieses Problem durch Abwärtskompatibilität mit früheren Composer-Versionen.
UUID unterstützt das Ändern
Mathieu Tudisco unterstützt die Verwendung der change()
-Methode in der UUID-Spalte. Davor würde der folgende Fehler auftreten:
Unknown column type “uuid” requested.
Versionshinweise
Sie können sich unten die vollständige Liste der neuen Funktionen und Updates auf GitHub sowie 7.5.0 und 7.6.0 ansehen](https://github .com/laravel/framework/compare/v7.5.0...v7.6.0). Die vollständigen Versionshinweise für Laravel 7.x finden Sie im neuesten v7 Changelog:
v7.6.0
Neu
● Collection::until()
Methode hinzugefügt (#32262)
● HtmlString::isEmpty()
Methode hinzugefügt (#32289, # 32300)
● IlluminateSupportStringable::isNotEmpty()
Methode hinzugefügt (#32293)
● IlluminateSupportStringable
Klasse hinzugefügt ltrim()
und rtrim()
Methode (#32288)
● Funktion zum Ignorieren von Middleware hinzugefügt (#32347, 412261c)
● IlluminateHttpClientResponse::object()
-Methode hinzugefügt (#32341)
● Unterstützung beim Festlegen des Komponentenalias (#32346)
● IlluminateDatabaseEloquentCollection::append()
-Methode hinzugefügt (#32324)
● Die Pivot-Spalte von BelongsToMany fügt eine neue „Between“-Anweisung hinzu (#32364)
● Die Warteschlangenüberwachung unterstützt die retryAfter()
-Methode (#32370 )
● Formatunterstützung für Composers neue Version von „installed.json“ hinzugefügt (#32310)
● Unterstützung für UUID-Änderungen für Datenbankmigrationsdateien hinzugefügt (#32316 )
● Erlauben Sie das Speichern von Ressourcen für Postgresql-Bytea (#32319)
Fix
● Fix phpredis*scan
Methode (#32336)
● Fix IlluminateAuthNotificationsResetPassword::toMail()
(#32345)
● Aufruf von setLocale in IlluminateTranslationTranslator::__construct()
(1c6a504 )
● Verwenden Sie Mapping, um unnötigen Array-Zugriff zu verhindern in IlluminateHttpResourcesJsonPaginatedResourceResponse::toResponse()
(#32296)
● Blockieren Sie Zeitstempel, wenn der Pivot nicht geändert wurde. Aktualisieren ( #32311)
● Beheben Sie den Genauigkeitsfehler von CURRENT_TIMESTAMP in IlluminateDatabaseSchemaGrammarsMySqlGrammar
(#32298)
Ändern
● Der Konstruktor von HtmlString
fügt einen Standardwert hinzu (#32290)
● Verwenden Sie BindingResolutionException
, um Container-Parsing-Probleme anzugeben (#32349)
● IlluminateValidationConcernsValidatesAttributes.php ::validateUrl()
Verwenden Sie Symfony/Validator 5.0.7
, um (#32315) abzugleichen
Veraltet
● Veraltet elixir
Funktion (#32366)
Dieser Artikel wird nachgedruckt:
Ursprüngliche Adresse: https://learnku.com/laravel/t/43480
Das obige ist der detaillierte Inhalt vonLaravel 7.6 ist veröffentlicht! ! !. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!