Heim > PHP-Framework > Laravel > Hauptteil

Laravel 7.6 ist veröffentlicht! ! !

藏色散人
Freigeben: 2020-04-21 13:11:51
nach vorne
3401 Leute haben es durchsucht

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();
Nach dem Login kopieren

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())
Nach dem Login kopieren

Zweitens hat Mark auch die isNotEmpty()-Methode

use Illuminate\Support\Stringable;
(new Stringable())->isNotEmpty(); // false
(new Stringable(&#39;Hello World&#39;))->isNotEmpty(); // true
Nach dem Login kopieren

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;
Nach dem Login kopieren

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)
Nach dem Login kopieren

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;
Nach dem Login kopieren

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, &#39;heroicon-o-bell&#39;);
Nach dem Login kopieren

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);
Nach dem Login kopieren

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 逻辑
}
Nach dem Login kopieren

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.
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:learnku.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage