Laravel 8.X核心特性全解析

Laravel 8.X 版本引入了多项重要改进,以下是核心特性概述:


1. Jetstream 应用脚手架

采用 Jetstream 作为全新身份验证脚手架,支持 Livewire 或 Inertia.js 前端栈,内置双因素认证、会话管理等功能:

bash 复制代码
composer require laravel/jetstream

2. 模型工厂类优化

模型工厂转为基于类的语法,支持关联状态和类型提示:

php 复制代码
// 定义工厂
class UserFactory extends Factory {
    public function definition(): array {
        return [
            'name' => $this->faker->name(),
            'email' => $this->faker->unique()->safeEmail(),
        ];
    }
}

// 使用
UserFactory::new()->create();

3. 路由优化

(1) 路由缓存提速

通过 php artisan route:cache 生成的缓存文件体积减少 75%,提升加载速度。

(2) 自定义路由模型绑定

支持在路由中直接声明绑定逻辑:

php 复制代码
Route::get('/users/{user}', function (User $user) {
    return $user;
})->withTrashed(); // 包含软删除记录

4. Eloquent 改进

(1) 批量赋值限制

模型新增 fillable() 与 guarded() 方法替代属性数组:

php 复制代码
class User extends Model {
    protected function fillable() {
        return ['name', 'email'];
    }
}
(2) 日期转换器

支持自定义 Castable 接口实现类型转换:

php 复制代码
class User extends Model {
    protected $casts = [
        'birthday' => DateCast::class,
    ];
}

5. 测试增强

(1) 测试工厂辅助函数

在测试中直接使用工厂:

php 复制代码
$user = User::factory()->create();
(2) HTTP 测试断言

新增 assertJsonPath() 等链式断言方法:

php 复制代码
$response->assertOk()
         ->assertJsonPath('meta.page', 1);

6. 其他关键更新

  • 速率限制器 :通过 RateLimiter 类定义自定义限流规则
  • 维护模式:支持预渲染维护模式页面
  • 事件监听器优化 :支持返回 ShouldQueue 接口的监听器

完整特性请参考 Laravel 8 官方文档。

相关推荐
ZHOUPUYU6 小时前
PHP 9.0 前瞻:下一代 PHP 会带来哪些新功能?
android·开发语言·php
ZHOUPUYU7 小时前
PHP 8.2 的核心高级特性,包括只读类、类型系统增强
android·性能优化·php
ZHOUPUYU7 小时前
PHP 8.0 高级技术实战:从新特性到性能优化
android·性能优化·php
唐青枫8 小时前
Yii2 Model 详解:属性、验证、场景与 ActiveRecord 实战
php
ZHOUPUYU8 小时前
PHP 高级技术实战:从原理到高并发架构落地
android·性能优化·php
海宇数据9 小时前
零信任架构实战:基于海宇车辆vin码查车辆信息详版构建自动化车险承保定级网关
人工智能·架构·自动化·php
论文复现现场9 小时前
8卡 A100 服务器哪里租?NVLink、RDMA 与 NCCL 验收指南
linux·服务器·php·分布式训练·rdma·nvlink·nccl
谢亮_vipxieliang21 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 31 章 休眠唤醒 WiFi 断连、时间同步、网络恢复机制
网络·物联网·php
CV工程师丁Sir1 天前
ArkWeb 手记 06|window.open 与页面跳转拦截
开发语言·php·harmonyos