開發常用的輔助函式

lmdfx發表於2020-09-17

1.optional()

允許你來獲取物件的屬性或者呼叫方法。如果該物件為 null,那麼屬性或者方法也會返回 null 而不是引起一個錯誤

// User 1 exists, with account
$user1 = User::find(1);
$accountId = $user1->account->id; // 123

// User 2 exists, without account
$user2 = User::find(2);
$accountId = $user2->account->id; // PHP Error: Trying to get property of non-object

// Fix without optional()
$accountId = $user2->account ? $user2->account->id : null; // null
$accountId = $user2->account->id ?? null; // null

// Fix with optional()
$accountId = optional($user2->account)->id; // null

2.replicate()

使用 replicate () 克隆一個模型。它將複製一個模型的副本到一個新的、不存在的例項中。

$user = App\User::find(1);
$newUser = $user->replicate();
$newUser->save();

3.blank()

判斷給定的值是否為空,與之相反的函式為lled()`

blank('');
blank('   ');
blank(null);
blank(collect());
// true

blank(0);
blank(true);
blank(false);
blank(['']);
empty(collect());//這裡與blank(collect())結果相反
// false

4.filled()

判斷給定的值是否不為「空」

filled(0);
filled(true);
filled(false);

// true

filled('');
filled('   ');
filled(null);
filled(collect());

// false

5.pluck

從陣列中檢索給定鍵的所有值

$parents = [
    ['parent' => ['id' => 1, 'name' => 'James']],
    ['parent' => ['id' => 8, 'name' => 'Lisa']],
];
Arr::pluck($parents, 'parent.name'); // ['James', 'Lisa']
本作品採用《CC 協議》,轉載必須註明作者和本文連結
心之所向,素履以往。

相關文章