首頁 > php框架 > Laravel > 十個建議使用的Laravel的輔助函數

十個建議使用的Laravel的輔助函數

步履不停
發布: 2019-06-27 18:05:57
原創
2820 人瀏覽過

十個建議使用的Laravel的輔助函數

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 = [
    '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()

#返回 Laravel 應用程式中公共目錄的完全限定的絕對路徑。你也可以將路徑傳遞到公用目錄中的檔案或目錄以取得該資源的絕對路徑。它將簡單地將 public_path() 加入你的參數。
$public_path = public_path();
$path = public_path('js/app.js');
登入後複製

Str::orderedUuid()

#(1)函數先產生時間戳記 uuid。這個 uuid 可以儲存在索引資料庫欄位中。這些 uuid 是基於時間戳創建的,因此它們會保留你的內容索引;
(2)在Laravel 5.6中使用它時,會引發 Ramsey\Uuid\Exception\UnsatisfiedDependencyException。要解決此問題,只需執行以下命令即可使用moontoast/math 套件
composer require laravel/passport=~7.0
use Illuminate\Support\Str;
return (string) Str::orderByUuid()
// A timestamp first uuid
登入後複製

str_plural()

將字串轉換為複數形式。此功能只支援英文。
echo str_plural('bank');
// banks
echo str_plural('developer');
// developers
登入後複製

route()

為指定的路由產生路由 URL。
$url = route('login');
// 如果路由接受参数,你可以简单地将它们作为第二个参数传递给一个数组。
$url = route('products', ['id' => 1]);
// 如果你想产生一个相对的 URL 而不是一个绝对的 URL,你可以传递 false 作为第三个参数。
$url = route('products', ['id' => 1], false);
登入後複製

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($var1);
dump($var1, $var2, $var3);
登入後複製

str_slug()

#將給定的字串產生一個 URL 友善的 slug。你可以使用這個功能為貼文或產品標題建立一個 slug。
$slug = str_slug('Helpers in Laravel', '-');
// helpers-in-laravel
登入後複製

optional()

#接受一個參數,可以呼叫參數的方法或存取屬性。如果傳遞的物件為 null,則方法和屬性將傳回 null,而不是導致錯誤或拋出異常。
$user = User::find(1);
return optional($user)->name;
登入後複製

更多Laravel相關技術文章,請造訪Laravel教學欄位學習!

以上是十個建議使用的Laravel的輔助函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板