Heim  >  Artikel  >  PHP-Framework  >  Werfen Sie einen Blick auf die neuen Funktionen der neuesten Version von Laravel8.78!

Werfen Sie einen Blick auf die neuen Funktionen der neuesten Version von Laravel8.78!

藏色散人
藏色散人nach vorne
2022-01-18 16:13:221632Durchsuche

Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die neuen Funktionen des neuesten Laravel 8.78 vor. Ich hoffe, dass es für alle hilfreich ist!

Das Laravel-Team veröffentlichte 8.78 mit der Möglichkeit, benutzerdefinierte Regeln zur Standard-Passwortvalidierung, der Anforderungsmethode mergeIfMissing(), der Stapelzählung in Assertionstests und den neuesten Änderungen im v8.x-Zweig hinzuzufügen.

Definieren Sie zusätzliche Standard-Passwortvalidierungsregeln

Ash Allen hat dazu beigetragen, benutzerdefinierte Validierungsregeln zu definieren, die als Teil der Standard-Passwortregeln mithilfe der Methode rules() ausgeführt werden: rules() 方法作为默认密码规则的一部分运行:

Password::defaults(function () {
    return Password::min(8)
        ->symbols()
        ->mixedCase()
        ->uncompromised()
        ->rules(new ZxcvbnRule());
});

rules() 方法接受单个规则、规则数组或闭包验证规则的闭包。

如果缺失合并请求数据

David Peach 提供了一个mergeIfMissing() HTTP 请求方法,如果请求中缺少键,该方法会将新输入合并到请求的输入中。

例如,如果您未选中表单复选框,则不会将其发送到服务器。您可能必须编写如下内容:

if ($request->missing('boolean_setting')) {
    $request->merge(['boolean_setting' => 0]);
}

现在,您可以定义在参数缺少时与请求合并的值:

$request->mergeIfMissing(['boolean_setting' => 0])

断言批次数

@Chrysanthos 为 Bus facade 贡献了一个 assertBatchCount() 方法,该方法断言已经调度了多少批次:

Bus::assertBatchCount(3);

HTML 字符串方法

Lars Klopstra 为 Str 和 Stringable 贡献了一个toHtmlString() 方法:

// 之前
new HtmlString(Str::of($content)->markdown());
 // 现在
Str::of($content)
    ->markdown()
    ->html();

发行说明

您可以在 GitHub 上面查看新功能和更新的完整列表以及 8.77.0 和 8.78.0 之间的差异。 以下发行说明直接来自 changelog:

v8.78.0

新增

  • 新增 schedule:clear-mutex 命令 (#40135)
  • 新增了自定密码验证规则的功能 (#40137)
  • 在 Illumbize Http 请求类中添加了一个 mergeIfMissing 方法 (#40116)
  • 新增 Illuminate/Support/MultipleInstanceManager (40913ac)
  • 新增 SimpleMessage::lines() (#40147)
  • 新增 Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217)
  • 使用广播驱动程序时仅启用 only-to-others 功能 (#40234)
  • 增加了在 JsonResource 响应上自定义 json 选项的功能 (#40208)
  • 新增 Illuminate/Support/Stringable::toHtmlString() (#40247)

更改

  • 改进对自定义列类型的支持 (#40119)
  • 删除控制台应用程序类中的无用检查 (#40145)
  • 当排序操作的第一个元素是字符串时(即使是可调用的),按键对集合进行排序 (#40212)
  • 如果有多个主机,请使用第一个主机  Illuminate/Database/Console/DbCommand::getConnection()rrreee
  • Die Regeln ()-Methode akzeptiert eine einzelne Regel, ein Array von Regeln oder einen Abschluss von Abschlussvalidierungsregeln.
  • Wenn Zusammenführungsanforderungsdaten fehlen

David Peach stellt eine HTTP-Anforderungsmethode mergeIfMissing() bereit, die neue Eingaben mit der angeforderten Eingabe zusammenführt, wenn ein Schlüssel in der Anforderung fehlt.

    Wenn Sie beispielsweise das Kontrollkästchen des Formulars nicht aktivieren, wird es nicht an den Server gesendet. Möglicherweise müssen Sie so etwas schreiben:
  • rrreee
  • Jetzt können Sie einen Wert definieren, der mit der Anfrage zusammengeführt werden soll, wenn der Parameter fehlt:
  • rrreee
  • Batchanzahl bestätigen
@Chrysanthos hat einen assertBatchCount() beigesteuert Code für die Bus-Fassade > Methode, die festlegt, wie viele Stapel geplant wurden: <p style="margin-bottom: 0px;">rrreee</p>HTML-String-Methoden<p></p>Lars Klopstra hat eine <code>toHtmlString()-Methode für Str und Stringable beigesteuert:
rrreee🎜Versionshinweise🎜 🎜 Die vollständige Liste der neuen Funktionen und Updates sowie die Unterschiede zwischen 8.77.0 und 8.78.0 können Sie auf GitHub einsehen. Die folgenden Versionshinweise stammen direkt aus dem Änderungsprotokoll: 🎜🎜v8.78.0🎜🎜Neu 🎜🎜🎜Neuer schedule:clear-mutex-Befehl (#40135) 🎜🎜Möglichkeit hinzugefügt, Regeln zur Passwortüberprüfung anzupassen (#40137)🎜🎜Eine mergeIfMissing-Methode in der Illumbize Http-Anfrageklasse hinzugefügt (#40116)🎜🎜Neuer Illuminate/Support/MultipleInstanceManager (40913ac)🎜🎜Neu hinzugefügt SimpleMessage::lines() (#40147)🎜🎜Illuminate/Support/Testing/Fakes/BusFake::assertBatchCount() (#40217) hinzugefügt🎜🎜Nur aktivieren only-to-others-Funktion beim Senden des Treibers (#40234)🎜🎜Möglichkeit zum Anpassen von JSON-Optionen für die JsonResource-Antwort hinzugefügt (#40208)🎜🎜Illuminate/Support/Stringable hinzugefügt: :toHtmlString() (#40247) 🎜🎜🎜 Änderungen 🎜🎜🎜 Verbesserte Unterstützung für benutzerdefinierte Spaltentypen (#40119) 🎜🎜 Unnötige Prüfungen in Konsolenanwendungsklassen entfernen (#40145) 🎜🎜Sammlungen nach Schlüssel sortieren, wenn die Das erste Element der Sortieroperation ist eine Zeichenfolge (auch wenn es aufrufbar ist) (#40212)🎜🎜Wenn mehrere Hosts vorhanden sind, verwenden Sie den ersten Illuminate /Database/Console/DbCommand::getConnection() (#40226) 🎜🎜reflector Class -Verbesserungen (#40241) 🎜🎜🎜fix🎜🎜🎜clear Records Beim Aufrufen von http :: fake () (#40194) 🎜🎜Fix Attributkonvertierung (#40245, C0D9735) 🎜🎜🎜🎜 Ursprüngliche Adresse: https://laravel-news.com/laravel-8-78-0🎜🎜Übersetzte Adresse: https://learnku.com/laravel /t/64574🎜🎜

Das obige ist der detaillierte Inhalt vonWerfen Sie einen Blick auf die neuen Funktionen der neuesten Version von Laravel8.78!. 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