Fungsi pembantu tersuai Laravel – Petua Pantas

Barbara Streisand
Lepaskan: 2024-10-23 01:07:31
asal
338 orang telah melayarinya

Fungsi pembantu agak popular di kalangan pembangun Laravel. Mereka menyediakan akses kepada beberapa algoritma pintar yang sedia untuk digunakan dalam kod anda menggunakan satu pernyataan.

Mungkin fungsi pembantu yang paling terkenal ialah url() yang membolehkan anda menjana URL aplikasi dalaman.

Satu lagi pembantu hebat ialah fungsi cuba semula() sebagai contoh: https://laravel.com/docs/11.x/helpers#method-retry

Cara mudah untuk mencuba semula pernyataan beberapa kali jika ia mengaktifkan pengecualian. Ia biasanya digunakan pada panggilan API luaran, dan sebenarnya ia telah disepadukan baru-baru ini sebagai kaedah dalam klien HTTP Laravel.

$response = Http::retry(3, 100)->post(/* ... */);
Salin selepas log masuk

Lagi tentang klien HTTP pada artikel khusus: https://inspector.dev/laravel-http-client-overview-and-monitoring/

Kes penggunaan fungsi pembantu Laravel

Kadangkala kami ingin mengautomasikan tugasan yang berkaitan dengan logik perniagaan kami dan merangkumnya ke dalam fungsi pembantu boleh menjadi sangat mudah. Saya menulis tentang pelaksanaan array_map untuk tatasusunan bersekutu yang sangat sesuai untuk kes penggunaan ini.

Anda boleh merujuk artikel untuk mengetahui tujuan fungsi ini, dalam konteks ini saya ingin menjadikannya sebagai fungsi pembantu tersuai untuk digunakan di dalam aplikasi Laravel anda.

Bagaimana untuk mendaftar fungsi pembantu Laravel baharu

Mula-mula buat fail helper.php baharu dalam apl/ direktori projek Laravel anda.

Laravel custom helper functions – Fast Tips

Tampal kod di bawah untuk mengisytiharkan fungsi array_map_assoc ke dalam fail:

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));
    }
}
Salin selepas log masuk

Seperti yang anda lihat, pengisytiharan fungsi dibalut dengan if untuk mengelakkan daripada mendaftarkan fungsi dengan nama yang sama.

Sertakan fail pembantu melalui autoload Komposer

Laravel tidak memuatkan fail pembantu tersuai secara automatik, jadi anda perlu mengarahkan komposer secara manual untuk memasukkan fail semasa penjanaan autoload.

Dalam fail composer.json projek Laravel anda, cari bahagian "autoload" dan tambah kata kunci "fail":

"autoload": {
    "psr-4": {
        "App\": "app/",
        "Database\Factories\": "database/factories/",
        "Database\Seeders\": "database/seeders/"
    },
    "files": [
        "app/helpers.php"
    ]
},
Salin selepas log masuk

Selepas menambah fail, jalankan composer dump-autoload dalam terminal anda untuk memuat semula fail autoload Composer.

Menggunakan Fungsi Pembantu Laravel Anda

Setelah fail pembantu dimuatkan, anda boleh menggunakan fungsi tersuai anda di mana-mana dalam aplikasi Laravel anda sama seperti fungsi PHP yang lain.

$histogram = array_map_assoc(function ($key, $value) {
    return [
        'label' => $key,
        'value' => $value['doc_count']
    ];
}, $data);
Salin selepas log masuk

Semoga berguna untuk kekal teratur dengan pangkalan kod anda.

Untuk lebih banyak artikel teknikal, anda boleh mengikuti saya di Linkedin atau X.

Pantau aplikasi PHP anda secara percuma

Inspektor ialah alat Pemantauan Pelaksanaan Kod yang direka khusus untuk pembangun perisian. Anda tidak perlu memasang apa-apa di peringkat pelayan, cuma pasang pakej Laravel atau Symfony dan anda sudah bersedia untuk pergi.

Jika anda sedang mencari pemantauan HTTP, cerapan pertanyaan pangkalan data dan keupayaan untuk memajukan makluman dan pemberitahuan ke dalam persekitaran pemesejan pilihan anda, cuba Inspektor secara percuma. Daftar akaun anda.

Atau ketahui lebih lanjut di tapak web: https://inspector.dev

Laravel custom helper functions – Fast Tips

Atas ialah kandungan terperinci Fungsi pembantu tersuai Laravel – Petua Pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!