Inhaltsverzeichnis
Alternative E-Mail-Syntax
Eloquent “严格”模式
使用资源路由加载废弃模型
发行说明
v9.35.0
添加
修复
修改
Heim PHP-Framework Laravel Laravel 9.35 ist veröffentlicht! Sehen Sie, was die neuen Änderungen sind?

Laravel 9.35 ist veröffentlicht! Sehen Sie, was die neuen Änderungen sind?

Oct 27, 2022 pm 04:05 PM
laravel

Die folgende Tutorial-Kolumne von Laravel stellt Ihnen die Änderungen in der neuesten Version von Laravel 9.35 vor. Ich hoffe, dass sie für alle hilfreich ist!

Das Laravel-Team hat Version 9.35 veröffentlicht, die über eine neue und aufregende alternative E-Mail-Syntax, eine eloquente „strenge Modus“-Funktion und mehr verfügt.

Alternative E-Mail-Syntax

Taylor Otwell hat eine E-Mail-fähige Syntax beigesteuert, indem er „ein kompaktes Objekt zurückgab, das E-Mail-fähige Inhalte und Eigenschaften angibt“.

Hier ist ein Beispiel seiner Pull-Request-Beschreibung:

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Attachment;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;

class InvoicePaid extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * 创建一个邮件实例
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * 获取邮件信封
     *
     * @return \Illuminate\Mail\Mailables\Envelope
     */
    public function envelope()
    {
        return new Envelope(
            subject: 'Invoice Paid',
            cc: [new Address('foo@example.com', 'Example Name')],
            tags: [],
            metadata: [],
        );
    }

    /**
     * 获取邮件内容定义
     *
     * @return \Illuminate\Mail\Mailables\Content
     */
    public function content()
    {
        return new Content(
            view: 'html-view-name',
            text: 'text-view-name',
        );
    }

    /**
     * 获取邮件的附件
     *
     * @return \Illuminate\Mail\Mailables\Attachment[]
     */
    public function attachments()
    {
        return [
            Attachment::fromPath('/path/to/file'),
        ];
    }
}
Nach dem Login kopieren

Die traditionelle Art, E-Mails mit build() zu definieren, wird nicht entfernt. Was mir an dem obigen Beispiel gefällt, ist, dass die Verwendung der benannten Parameter von PHP 8 viel klarer ist. build() 定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。

Eloquent “严格”模式

Chris Morrell 和 Taylor Otwell 合作开发了 Eloquent 严格模式,该模式支持以下功能:

  • 没有延迟加载
  • 分配不可填充属性时的例外情况
  • 访问未检索或不存在的属性的异常

要在开发中使用严格模式,方法是将以下内容添加到已注册服务提供者的 boot() 方法中:

Model::shouldBeStrict();
Nach dem Login kopieren

shouldBeStrict() 方法是启用以下所有功能的快捷方式:

Model::preventLazyLoading();
Model::preventSilentlyDiscardingAttributes();
Model::preventsAccessingMissingAttributes();
Nach dem Login kopieren

使用资源路由加载废弃模型

Andrew Brown 提供了使用以下路由语法加载带有资源路由的废弃模型的能力:

// 所有终结点
Route::resource('users', UserController::class)->withTrashed();

// 仅`显示`
Route::resource('users', UserController::class)->withTrashed(['show']);
Nach dem Login kopieren

发行说明

你可以在GitHub上看到下面完整的新功能和更新列表以及[9.34.0]和9.35.0](github.com/laravel/framework/compa...) 之间的区别。以下发行说明直接来自 changelog:

v9.35.0

添加

  • 允许为资源路由加载废弃模型 (#44405)
  • 添加到 Illuminate/Database/Eloquent/Model::shouldBeStrict() 和其他 (#44283)
  • 没有解析控制器的控制器中间件 (#44516)
  • 选择可邮寄的语法 (#44462)

修复

  • 修复自引用多对多关系中的聚合函数(withSum 等)问题(#44286)
  • 修复了使用静态类属性作为模板属性的问题 (#44473)
  • Traversable 在 Enumerate Values 中应该优先于 JsonSerializable(#44456)
  • 修复了make:cast --inbound,所以它是一个布尔选项,而不是值 (#44505)

修改

  • 测试方法。 使用 json_encode 使错误消息更具可读性(#44397)
  • Model::without Timestamps()
  • Eloquenter „strenger“ Modus
  • Chris Morrell und Taylor Otwell haben gemeinsam den eloquenten strikten Modus entwickelt, der die folgenden Funktionen unterstützt:
    • Kein Lazy Loading
    • Ausnahmen beim Zuweisen nicht ausfüllbarer Eigenschaften
    • Zugriff nicht abgerufen oder Ausnahme für eine nicht vorhandene Eigenschaft
    • Um den strikten Modus in der Entwicklung zu verwenden, fügen Sie Folgendes zur boot()-Methode eines registrierten Dienstanbieters hinzu:
    • rrreee
    • The ShouldBeStrict()-Methode ist eine Verknüpfung, um alle folgenden Funktionen zu aktivieren:
    • rrreee
    Veraltete Modelle mithilfe von Ressourcenrouten laden

    Andrew Brown bietet die Möglichkeit, veraltete Modelle mit Ressourcenrouten mithilfe der folgenden Routing-Syntax zu laden:

    rrreeeVersionshinweise

    Sie können die vollständige Liste der neuen Funktionen und Updates unten sowie [9.34.0] und 9.35.0](github.com/laravel/framework/compa...) auf GitHub sehen. Die folgenden Versionshinweise stammen direkt aus dem Änderungsprotokoll:

    v9.35.0

    Hinzugefügt🎜
      🎜Laden veralteter Modelle für Ressourcenrouting zulassen (#44405)🎜🎜Zu Illuminate hinzugefügt /Database/Eloquent/Model ::shouldBeStrict() und andere (#44283) 🎜🎜Controller-Middleware analysiert keine Controller (#44516) 🎜🎜Mailbare Syntax auswählen (#44462) 🎜🎜🎜Behoben🎜
        🎜 Das Problem von Aggregatfunktionen (withSum usw.) in selbstreferenziellen Viele-zu-Viele-Beziehungen wurde behoben (#44286)🎜🎜Das Problem der Verwendung statischer Klasseneigenschaften als Vorlageneigenschaften wurde behoben (#44473)🎜🎜Traversable sollte Vorrang haben JsonSerializable in Enumerate Values ​​(# 44456) 🎜🎜 make:cast --inbound korrigiert, sodass es eine boolesche Option statt eines Werts ist (#44505) 🎜🎜🎜Modifizierte 🎜
          🎜Testmethode. Verwenden Sie json_encode, um Fehlermeldungen besser lesbar zu machen (#44397) 🎜🎜Lassen Sie Model::without Timestamps() den Rückgabewert des Rückrufs zurückgeben (#44457) 🎜🎜Nur veraltete Modelle auf relevanten Routen laden ( #44478)🎜🎜Zusätzliche PHP-Erweiterungen zur Funktion ShouldBlockPhpUpload hinzufügen (#44512)🎜🎜CutInternals-Caster für besonders verrauschte Objekte registrieren (#44514)🎜🎜Get-Methode verwenden, um auf das Anwendungsgebietsschema zuzugreifen (#44521)🎜🎜Nur nicht leere Antwort zurückgeben vom Kanal (09d53ee, 3944a3e) 🎜🎜Korrekter Kanalabgleich (#44531) 🎜🎜Mail-Komponente migrieren (#44527) 🎜🎜🎜🎜Ursprüngliche Adresse: https://laravel-news.com/laravel-9 -35-0🎜 🎜Übersetzungsadresse: https://learnku.com/laravel/t/72658🎜🎜

    Das obige ist der detaillierte Inhalt vonLaravel 9.35 ist veröffentlicht! Sehen Sie, was die neuen Änderungen sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    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

    Heiße KI -Werkzeuge

    Undresser.AI Undress

    Undresser.AI Undress

    KI-gestützte App zum Erstellen realistischer Aktfotos

    AI Clothes Remover

    AI Clothes Remover

    Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

    Undress AI Tool

    Undress AI Tool

    Ausziehbilder kostenlos

    Clothoff.io

    Clothoff.io

    KI-Kleiderentferner

    Video Face Swap

    Video Face Swap

    Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

    Heiße Werkzeuge

    Notepad++7.3.1

    Notepad++7.3.1

    Einfach zu bedienender und kostenloser Code-Editor

    SublimeText3 chinesische Version

    SublimeText3 chinesische Version

    Chinesische Version, sehr einfach zu bedienen

    Senden Sie Studio 13.0.1

    Senden Sie Studio 13.0.1

    Leistungsstarke integrierte PHP-Entwicklungsumgebung

    Dreamweaver CS6

    Dreamweaver CS6

    Visuelle Webentwicklungstools

    SublimeText3 Mac-Version

    SublimeText3 Mac-Version

    Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

    Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Wie bekomme ich den Rückgabecode, wenn das Senden von E -Mails in Laravel fehlschlägt? Apr 01, 2025 pm 02:45 PM

    Methode zum Abholen des Rücksendecode, wenn das Senden von Laravel -E -Mails fehlschlägt. Wenn Sie Laravel zur Entwicklung von Anwendungen verwenden, stellen Sie häufig Situationen auf, in denen Sie Überprüfungscodes senden müssen. Und in Wirklichkeit ...

    Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Laravel -Zeitplanaufgabe wird nicht ausgeführt: Was soll ich tun, wenn die Aufgabe nicht nach Zeitplan ausgeführt wird: Befehl ausführen? Mar 31, 2025 pm 11:24 PM

    Laravel -Zeitplan -Aufgabe Ausführen nicht reagierende Fehlerbehebung Bei Verwendung der Zeitplanung von Laravel -Zeitplänen werden viele Entwickler auf dieses Problem stoßen: Zeitplan: Run ...

    Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Wie kann man in Laravel mit der Situation umgehen, in der Überprüfungscodes nicht per E -Mail gesendet werden? Mar 31, 2025 pm 11:48 PM

    Die Methode zum Umgang mit Laravels E -Mail -Versagen zum Senden von Verifizierungscode besteht darin, Laravel zu verwenden ...

    So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? So implementieren Sie die benutzerdefinierte Tabellenfunktion des Klickens, um Daten im DCAT -Administrator hinzuzufügen? Apr 01, 2025 am 07:09 AM

    So implementieren Sie die Tabellenfunktion von benutzerdefiniertem Klicken, um Daten in dcatadmin (laravel-admin) hinzuzufügen, wenn Sie DCAT verwenden ...

    Laravel – Dump-Server Laravel – Dump-Server Aug 27, 2024 am 10:51 AM

    Laravel – Dump-Server – Der Laravel-Dump-Server wird mit der Version von Laravel 5.7 geliefert. Die Vorgängerversionen enthalten keinen Dump-Server. Der Dump-Server wird eine Entwicklungsabhängigkeit in der Laravel-/Laravel-Composer-Datei sein.

    Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Laravel Redis -Verbindungsfreigabe: Warum wirkt sich die Auswahlmethode auf andere Verbindungen aus? Apr 01, 2025 am 07:45 AM

    Die Auswirkungen des Austauschs von Redis -Verbindungen im Laravel -Framework und der Auswahl von Methoden bei Verwendung von Laravel -Framework und Redis können Entwickler auf ein Problem stoßen: Durch Konfiguration ...

    Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Laravel Multi-Tenant-Erweiterungsstanz/Mietverhältnis: Wie passen Sie die Host-Adresse einer Mieterdatenbankverbindung an? Apr 01, 2025 am 09:09 AM

    Benutzerdefinierte Mieterdatenbankverbindung in Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis beim Erstellen von Multi-Mandanten-Anwendungen mit Laravel Multi-Tenant-Erweiterungspaket Stanz/Mietverhältnis, ...

    Laravel – Aktions-URL Laravel – Aktions-URL Aug 27, 2024 am 10:51 AM

    Laravel – Aktions-URL – Laravel 5.7 führt eine neue Funktion namens „Aufrufbare Aktions-URL“ ein. Diese Funktion ähnelt der in Laravel 5.6, die String-in-Action-Methoden akzeptiert. Der Hauptzweck der neuen Syntax, die Laravel 5.7 eingeführt hat, besteht darin, direktl

    See all articles