📜  更新函数 laravel 7 - PHP (1)

📅  最后修改于: 2023-12-03 15:10:33.451000             🧑  作者: Mango

更新函数 Laravel 7 - PHP

Laravel是一个流行的PHP框架,易于使用且功能强大。 在Laravel 7中,已经更新了一些函数。 以下是一些最常用的更新函数:

1. higherOrderTap()

higherOrderTap 函数允许在集合的每个项目中执行回调函数。它将返回新的 Illuminate\Support\HigherOrderTapProxy 实例。 你可以在这个实例上调用链式方法,然后返回一个输入的集合实例。

$collection = collect([1, 2, 3])->higherOrderTap(function ($collection) {
    // 在每个项目上执行的回调函数
    echo 'Higher Order Tap: ';
    $collection->each(function ($item) {
        echo $item.' ';
    });
});

// 返回:
// Higher Order Tap: 1 2 3
2. optional()

optional 函数允许你安全地访问可能为 null 的对象属性而无需检查它们是否真的存在。 它需要一个参数作为要检查的对象并返回一个包装器对象,可以在其上调用对象属性/方法。 如果该对象为空,则会在调用中返回 null

$user = User::find(10);

// 这里将检查 $user 是否不为 null
// 如果是,将返回 $user->name
// 如果为空,将返回 null
$name = optional($user)->name;
3. refresh()

refresh 函数用于刷新模型数据并从数据库中加载当前状态。 它与 fresh 方法不同之处在于, refresh 方法会忽略内存中的所有更改,并加载数据库记录的当前状态。

$user = User::find(1);
$user->name = 'New Name';

$user->refresh(); // 重新从数据库加载 $user 记录并忽略更改

$nameAfterRefresh = $user->name; // 将返回数据库中的 $user->name 值 
4. when() 和 unless()

whenunless 函数是条件函数,允许你在给定条件的情况下在代码块中运行回调。 when 函数在表达式为true时运行回调,而 unless 函数在表达式为false时运行。

// 当 $value 为 true 时,回调将被执行
$value = true;
$result = when($value, function () {
    return 'Value is true';
});

// 当 $value 为 false 时,回调将被执行
$value = false;
$result = unless($value, function () {
    return 'Value is false';
});

以上是Laravel 7中的一些常用的更新函数,它们能够帮助您更轻松、更方便地编写PHP代码。