Heim  >  Artikel  >  PHP-Framework  >  Laravel 7.6 ist veröffentlicht! ! !

Laravel 7.6 ist veröffentlicht! ! !

藏色散人
藏色散人nach vorne
2020-04-21 13:11:513421Durchsuche

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(&#39;&#39;); 
// 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(&#39;Hello World&#39;))->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(&#39; Hello World&#39;))->ltrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;Hello World &#39;))->rtrim(); // &#39;Hello World&#39;
echo (new Stringable(&#39;/example/&#39;))->rtrim(&#39;/&#39;); // &#39;/example&#39;

Spezifisches Routing ignoriert Middleware

@dsazup bietet Funktionen zum Überspringen von Middleware beim Definieren von Routen:

Route::get(&#39;/something&#39;)
    ->skipMiddleware(VerifyCsrfToken::class)
Route::get(&#39;/teams/create&#39;)
    ->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(&#39;some-api.wip&#39;)[&#39;result&#39;];
// Using json()
$response = Http::get(&#39;some-api.wip&#39;)->json();
$response[&#39;result&#39;]
// New option
$response = Http::get(&#39;some-api.wip&#39;)->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 4d33e0513c23bd96aac29d0aeae1e9b6 als Alias ​​für diese Komponente verwenden, gehen Sie wie folgt vor:

Blade::component(Svg::class, &#39;heroicon-o-bell&#39;);

Dies ist prägnanter als der ff990840bc9c71b303029443f86711b7-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*scanMethode (#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 elixirFunktion (#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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen