前言
Laravel 包含各種全局輔助函數。 laravel 中包含大量輔助函數,您可以使用它們來簡化開發工作流程。 在這里,我將編寫 10 個最好的 laravel 幫助函數,用于使我的開發更容易。 您必須考慮在必要時使用它們。
您還可以查看所有的官方文檔 laravel helper functions.
array_dot()
array_dot() array_dot () 輔助函數允許你將多維數組轉換為使用點符號的一維數組。
$array = [
'user' => ['username' => 'something'],
'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$dot_array = array_dot($array);
// [user.username] => something, [app.creator.name] => someone, [app.created] => today
array_get()
array_get() 函數使用點符號從多維數組中檢索值。
$array = [
'user' => ['username' => 'something'],
'app' => ['creator' => ['name' => 'someone'], 'created' => 'today']
];
$name = array_get($array, 'app.creator.name');
// someone
如果 key 不存在,array_get() 函數還接受可選的第三個參數作為默認值。
$name = array_get($array, 'app.created.name', 'anonymous');
// anonymous
public_path()
public_path() 返回 Laravel 應用程序中公共目錄的完全限定的絕對路徑。 你還可以將路徑傳遞到公共目錄中的文件或目錄以獲取該資源的絕對路徑。 它將簡單地將 public_path() 添加到你的參數中。
$public_path = public_path();
$path = public_path('js/app.js');
Str::orderedUuid()
Str::orderedUuid() 函數首先生成一個時間戳 uuid。 這個 uuid 可以存儲在索引數據庫列中。 這些 uuid 是基于時間戳創建的,因此它們會保留你的內容索引。 在 Laravel 5.6 中使用它時,會引發 Ramsey\Uuid\Exception\UnsatisfiedDependencyException。 要解決此問題,只需運行以下命令即可使用 moontoast/math 包::
composer require "moontoast/math"
use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid
str_plural()
str_plural 函數將字符串轉換為復數形式。該功能只支持英文。
echo str_plural('bank');
// banks
echo str_plural('developer');
// developers
route()
route() 函數為指定的路由生成路由 URL。
如果路由接受參數,你可以簡單地將它們作為第二個參數傳遞給一個數組。
$url = route('products', ['id' => 1]);
如果你想產生一個相對的 URL 而不是一個絕對的 URL,你可以傳遞 false 作為第三個參數。
$url = route('products', ['id' => 1], false);
tap()
tap() 函數接受兩個參數:一個值和一個閉包。該值將被傳遞給閉包,然后該值將被返回。閉包返回值無關緊要。
$user = App\User::find(1);
return tap($user, function($user) {
$user->update([
'name' => 'Random'
]);
});
它不會返回布爾值,而是返回 User Model 。
如果你沒有傳遞閉包,你也可以使用 User Model 的任何方法。 無論實際返回的方法如何,返回值都將始終為值。 在下面的例子中,它將返回 User Model 而不是布爾值。 update 方法返回布爾值,但由于用了 tap ,所以它將返回 User Model。
$user = App\User::find(1);
return tap($user)->update([
'name' => 'SomeName'
]);
dump()
dump() 函數會 dump 給定的變量,同時也支持同時傳入多個變量。這對調試非常有用。
dump($var1);
dump($var1, $var2, $var3);
str_slug()
str_slug() 函數將給定的字符串生成一個 URL 友好的 slug。 你可以使用此功能為帖子或產品標題創建一個 slug。
$slug = str_slug('Helpers in Laravel', '-');
// helpers-in-laravel
optional()
optional() 函數接受一個參數,你可以調用參數的方法或訪問屬性。 如果傳遞的對象為 null,則方法和屬性將返回 null,而不是導致錯誤或拋出異常。
$user = User::find(1);
return optional($user)->name;
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。