首頁 > php框架 > Laravel > 主體

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

步履不停
發布: 2019-06-19 11:28:40
原創
2826 人瀏覽過

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

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('login');
登入後複製
如果路由接受參數,你可以簡單地將它們作為第二個參數傳遞給一個陣列。

$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;
登入後複製
更多Laravel相關技術文章,請造訪

Laravel教學專欄進行學習!

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

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!