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(/* ... */);
Lagi tentang klien HTTP pada artikel khusus: https://inspector.dev/laravel-http-client-overview-and-monitoring/
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.
Mula-mula buat fail helper.php baharu dalam apl/ direktori projek Laravel anda.
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)); } }
Seperti yang anda lihat, pengisytiharan fungsi dibalut dengan if untuk mengelakkan daripada mendaftarkan fungsi dengan nama yang sama.
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" ] },
Selepas menambah fail, jalankan composer dump-autoload dalam terminal anda untuk memuat semula fail autoload Composer.
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);
Semoga berguna untuk kekal teratur dengan pangkalan kod anda.
Untuk lebih banyak artikel teknikal, anda boleh mengikuti saya di Linkedin atau X.
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
Atas ialah kandungan terperinci Fungsi pembantu tersuai Laravel – Petua Pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!