Laravel 自訂輔助函數 – 快速提示

Barbara Streisand
發布: 2024-10-23 01:07:31
原創
338 人瀏覽過

輔助函數在 Laravel 開發者中非常流行。它們提供了對一些巧妙演算法的訪問,可以使用單一語句在您的程式碼中使用。

最知名的輔助函數可能是 url(),它允許您產生內部應用程式 URL。

另一個很棒的幫手是 retry() 函數,例如:https://laravel.com/docs/11.x/helpers#method-retry

在觸發異常時重試語句一定次數的簡單方法。它通常用於外部 API 呼叫,事實上它最近被集成為 Laravel HTTP 用戶端中的一個方法。

$response = Http::retry(3, 100)->post(/* ... */);
登入後複製

有關 HTTP 客戶端的更多信息,請參見專門文章:https://inspector.dev/laravel-http-client-overview-and-monitoring/

Laravel 輔助函數用例

有時我們希望自動化與業務邏輯相關的任務,並將其封裝到輔助函數中可能會非常方便。我寫了關於關聯數組的 array_map 的實現,它非常適合這個用例。

你可以參考這篇文章來了解這個函數的用途,在這種情況下,我想將它設為一個自訂輔助函數,以便在你的 Laravel 應用程式中使用。

如何註冊新的 Laravel 輔助函數

首先在 Laravel 專案的 app/ 目錄中建立一個新檔案 helper.php。

Laravel custom helper functions – Fast Tips

將以下程式碼貼到檔案中以宣告 array_map_assoc 函數:

if (!function_exists('array_map_assoc')) {
    /**
     * Apply a mapping callback receiving key and value as arguments.
     * The standard array_map doesn't pass the key to the callback. But in the case of associative arrays,
     * it could be really helpful.
     *
     * array_map_assoc(function ($key, $value) {
     *  ...
     * }, $items)
     *
     * @param callable $callback
     * @param array $array
     * @return array
     */
    function array_map_assoc(callable $callback, array $array): array
    {
        // map original array keys, and call $callable with $key and $value.
        return array_map(function($key) use ($callback, $array){
            return $callback($key, $array[$key]);
        }, array_keys($array));
    }
}
登入後複製

正如你所看到的,函數宣告被 if 包裹起來,以避免註冊同名的函數。

透過 Composer 的自動載入包含幫助程式文件

Laravel 不會自動載入自訂幫助程式文件,因此您需要手動指示 Composer 在自動載入產生過程中包含該文件。

在 Laravel 專案的composer.json 檔案中找到「autoload」部分,並新增「files」關鍵字:

"autoload": {
    "psr-4": {
        "App\": "app/",
        "Database\Factories\": "database/factories/",
        "Database\Seeders\": "database/seeders/"
    },
    "files": [
        "app/helpers.php"
    ]
},
登入後複製

新增檔案後,在終端機中執行 Composer dump-autoload 來刷新 Composer 的自動載入檔案。

使用 Laravel 輔助函數

載入幫助程式檔案後,您可以在 Laravel 應用程式中的任何位置使用自訂函數,就像其他 PHP 函數一樣。

$histogram = array_map_assoc(function ($key, $value) {
    return [
        'label' => $key,
        'value' => $value['doc_count']
    ];
}, $data);
登入後複製

希望它對保持程式碼庫的井然有序有所幫助。

想了解更多技術文章,您可以在 Linkedin 或 X 上關注我。

免費監控您的 PHP 應用程式

Inspector是一款專為軟體開發人員設計的程式碼執行監控工具。您無需在伺服器層級安裝任何內容,只需安裝 LaravelSymfony 軟體套件即可開始使用。

如果您正在尋找 HTTP 監控、資料庫查詢見解以及將警報和通知轉發到您首選訊息傳遞環境的功能,請免費嘗試 Inspector。註冊您的帳戶。

或在網站上了解更多:https://inspector.dev

Laravel custom helper functions – Fast Tips

以上是Laravel 自訂輔助函數 – 快速提示的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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