您的位置: 翼速应用 > 业内知识 > PHP框架 > 正文

一起看看Laravel新版本都有哪些变化

本文给大家带来了laravel的新版本变化和改动,一起来看看详细内容吧,希望对大家有所帮助!


一起看看Laravel新版本都有哪些变化



一起看看Laravel新版本都有哪些变化


备用邮件语法


Taylor Otwell 通过返回 “指定可邮件内容和属性的精简对象”,贡献了一个可邮件语法。


这是他的一个例子 pull request description:


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'),
        ];
    }
}


使用build() 定义邮件的传统方式不会被删除。 我喜欢上面的例子是因为使用 PHP 8 的命名参数更一目了然。


Eloquent “严格”模式


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


●  没有延迟加载


●  分配不可填充属性时的例外情况


●  访问未检索或不存在的属性的异常


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


Model::shouldBeStrict();


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


Model::preventLazyLoading();
Model::preventSilentlyDiscardingAttributes();
Model::preventsAccessingMissingAttributes();


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


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


// 所有终结点
Route::resource('users', UserController::class)->withTrashed();
 
// 仅`显示`
Route::resource('users', UserController::class)->withTrashed(['show']);


发行说明


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


新版本变动


添加


  ○  允许为资源路由加载废弃模型 (#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() 返回回调的返回值 (#44457)


  ○  仅在相关路由上加载废弃模型(#44478)


  ○  向 shouldBlockPhpUpload 函数添加额外的 PHP 扩展 (#44512)


  ○  为特别嘈杂的对象注册 cutInternals casters (#44514)


  ○  使用 get 方法访问应用程序区域设置 (#44521)


  ○  仅返回来自频道的非空响应 (09d53ee, 3944a3e)


  ○  正确的频道匹配 (#44531)


  ○  迁移邮件组件 (#44527)


关于Laravel新版本的变化与改动分享到这里就结束了,翼速应用平台内有更多相关资讯,欢迎查阅!


我来说两句

0 条评论

推荐阅读

  • 响应式布局CSS媒体查询设备像素比介绍

    构建响应式网站布局最常见的是流体网格,灵活调整大小的站点布局技术,确保用户在使用的幕上获得完整的体验。响应式设计如何展示富媒体图像,可以通过以下几种方法。

    admin
  • 提升网站的性能快速加载的实用技巧

    网站速度很重要,快速加载的网站会带来更好的用户体验、更高的转化率、更多的参与度,而且在搜索引擎排名中也扮演重要角色,做SEO,网站硬件是起跑线,如果输在了起跑线,又怎么跟同行竞争。有许多方法可提升网站的性能,有一些技巧可以避免踩坑。

    admin
  • 织梦CMS TAG页找不到标签和实现彩色标签解决方法

    织梦cms是我们常见的网站程序系统的一款,在TAG标签中常常遇到的问题也很多。当我们点击 tags.php 页的某个标签的时候,有时会提示:“系统无此标签,可 能已经移除!” 但是我们检查程序后台,以及前台显示页面。这个标签确实存在,如果解决这个问题那?

    admin
  • HTML关于fieldset标签主要的作用

    在前端开发html页面中常用的标签很多,今天为大家带来的是关于HTML中fieldset标签主要的作用说明,根据技术分析HTML

    admin

精选专题