Advertisement
  1. Code
  2. Laravel 5

Cara Membuat Helper Laravel

Scroll to top
Read Time: 11 min

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Sebagai permulaan, saya lebih suka membiarkan situs resmi Laravel berbicara tentang helper.

Laravel menyertakan berbagai fungsi PHP "pembantu" global. Banyak fungsi ini digunakan oleh kerangka itu sendiri; namun, Anda bebas menggunakannya dalam aplikasi Anda sendiri jika Anda merasa nyaman.

Jadi, pada dasarnya, helper di Laravel adalah fungsi utilitas bawaan yang dapat Anda panggil dari manapun dalam aplikasi Anda. Jika mereka tidak disediakan kerangka inti, Anda mungkin sudah mengembangkan kelas helper Anda sendiri.

Meskipun intinya menyediakan berbagai helper, selalu ada kemungkinan Anda memerlukan milik Anda sendiri dan ingin mengembangkannya sehingga Anda tidak perlu mengulang kode yang sama di sana-sini, sehingga meningkatkan kemampuan perawatan yang lebih baik. Anda akan belajar cara membuat helper Laravel kustom dalam tutorial ini.

Helper di Laravel

Seperti yang telah kita bahas sebelumnya, ada banyak helper yang tersedia di inti kerangka Laravel. Mereka dikelompokkan bersama berdasarkan fungsi yang mereka berikan. Berikut daftar grup helper.

Array

Helper dalam grup ini menyediakan fungsionalitas untuk memanipulasi elemen array. Lebih sering daripada tidak, Anda berada dalam situasi di mana Anda ingin melakukan operasi yang berbeda pada elemen array. Jadi, ini adalah tempat di mana Anda harus melihat terlebih dahulu untuk melihat apakah yang Anda cari sudah ada.

Path

Saya menemukan helper dalam kategori ini sangat berguna. Mereka mengembalikan path yang memenuhi syarat dari berbagai direktori seperti aplikasi, penyimpanan, konfigurasi, dan sejenisnya. Saya yakin Anda sudah menggunakan sebagian besar pembantu ini pada aplikasi Laravel Anda.

String

Manipulasi string adalah sesuatu yang tak terelakkan dalam pengembangan aplikasi sehari-hari Anda. Meskipun ada banyak fungsi manipulasi string yang disediakan oleh PHP itu sendiri, Anda akan menemukan beberapa barang yang lebih berguna di bagian ini.

URL

Anda akan menemukan sangat sedikit kategori ini, namun penggunaannya digunakan selama aplikasi berlangsung. Mereka digunakan untuk menghasilkan rute, aset, dan URL tindakan formulir.

Lain-lain

Kategori ini berisi helper yang menyediakan berbagai fungsi mulai dari logging hingga debugging dan banyak lagi.

Untuk referensi lengkap helper Laravel, tidak ada tempat yang lebih baik daripada dokumentasi resminya.

Membuat Helper Kustom Pertama Anda

Sekarang Anda memiliki pemahaman dasar tentang helper Laravel dan apa tujuannya. Pada bagian ini, saya akan langsung dan menunjukkan bagaimana Anda dapat membuat helper kustom Anda sendiri yang dapat digunakan secara global di aplikasi Laravel Anda.

Untuk menjaga hal-hal sederhana dan mudah dimengerti, ini akan menjadi helper yang cukup mendasar yang mengambil userid dan mengembalikan nama pengguna sebagai tanggapannya. Tentu saja, itu tidak terdengar mewah, tapi saya yakin ini cukup untuk menunjukkan konsepnya, dan Anda selalu bisa memperpanjangnya untuk memenuhi kebutuhan Anda yang kompleks.

Saya berasumsi bahwa Anda memiliki tabel users di database Anda dan setidaknya memiliki dua field—userid dan username.

Kerangka Sebuah Helper Laravel

Sebelum kita melangkah maju dan benar-benar membuat file-filenya, mari kita lihat sekilas file yang akan kita buat di sisa artikel.

  • app/Helpers/Envato/User.php: Ini file helper kita yang memegang logika helper kita.
  • app/Providers/EnvatoServiceProvider.php: Ini adalah file penyedia layanan kustom yang memuat file helper kustom kita.
  • config/app.php: Dalam file ini, kita akan mengumumkan penyedia layanan kustom kita, dan ini juga membantu kita menentukan alias ke helper kita sehingga kita tidak perlu menggunakan nama kelas yang memenuhi syarat dari helper kita.
  • routes/web.php: File rute Laravel yang cukup standar dimana kita benar-benar akan menguji helper kita.

Membuat File Helper

Meskipun Anda bisa menempatkan file helper Anda di manapun di aplikasi Anda, cara yang lebih intuitif dan standar menyarankan bahwa aplikasi tersebut seharusnya masuk ke dalam direktori app Anda.

Jadi, langsung buat direktori Helpers/Envato di bawah app dan buat file User.php dengan konten berikut. Tentu saja, Anda bisa menempatkannya langsung di bawah direktori app atau app/Helpers, namun dengan memberikan tingkat tambahan itu memungkinkan kita untuk mengatur helper kita dalam kondisi yang baik, khususnya bila Anda akan memiliki banyak dari mereka.

File dimulai dengan deklarasi namespace yang cukup standar:

Tujuan helper kustom kita adalah mengambil username berdasarkan userid. Oleh karena itu, kita perlu berinteraksi dengan database, dan itu memaksa kita untuk meng-include DB Facade.

Bagi mereka yang tidak akrab dengan Facade Laravel, ini adalah cara lain yang mudah untuk mengakses objek dalam kontainer layanan. Sebagai alternatif, Anda bisa menggunakan injeksi dependensi.

Ke depan, datang implementasi konkrit dari helper kita. Seperti yang Anda lihat, ada metode static yang mendefinisikan logika dari mengambil username berdasarkan userid.

Objek $user menyimpan catatan database dengan userid yang cocok. Akhirnya, metodenya mengembalikan username sebagai respon dalam pernyataan berikut.

Sejauh itu yang bersangkutan dengan file helper kita.

Sekarang kita telah membuat file helper kita, tapi pertanyaannya adalah bagaimana Anda akan menggunakannya? Dua solusi cepat muncul di benak saya:

  • Anda bisa memasukkan nama file helper kita ke dalam composer.json, sehingga otomatis termuat. Kemudian, Anda bisa langsung memanggil metode statis kelas helper kita.
  • Anda dapat melanjutkan dan membuat penyedia layanan Laravel yang memungkinkan Anda mendaftarkan file helper kustom Anda sehingga kerangka kerja Laravel memuatnya bersama dengan dependensi lainnya. Daftarkan penyedia layanan tersebut di konfigurasi Laravel dan buat sebuah alias untuk menggunakan helper Anda.

Tentu saja, yang pertama cukup cepat dan mudah diterapkan, dan Anda mungkin tergoda untuk melakukannya, tapi saya lebih suka menyarankan yang terakhir karena lebih mirip cara seorang ahli dan lebih mudah dipelihara.

Pindah ke command line dan jalankan perintah berikut di root aplikasi Anda untuk membuat penyedia layanan baru.

Anda akan melihat pesan yang mengkonfirmasikan bahwa itu dibuat dengan sukses di bawah direktori app/Providers.

Buka file itu dan Anda seharusnya sudah melihat dua metode di luar sana. Yang penting dalam konteks artikel ini adalah metode register. Ya, itu kosong pada saat ini, jadi mari kita mengisi beberapa barang untuk membuatnya lebih bermanfaat.

Metode register digunakan untuk mendaftarkan dependensi Anda, dan kami telah benar-benar melakukannya. Kita telah menyertakan file helper kustom kita.

Beginilah file app/Providers/EnvatoServiceProvider.php seharusnya terlihat setelah modifikasi.

Jadi semuanya cukup bagus sejauh ini. Kami memiliki helper kustom dan penyedia layanan kami di atas meja.

Selanjutnya, kita perlu memberi tahu Laravel tentang penyedia layanan kita sehingga bisa memuatnya saat bootstrap. Mari kita buka config/app.php dan tambahkan entri berikut di dalam array providers di bagian akhir.

Untuk menggunakan helper kita dengan cara yang mudah, kita bisa membuat alias juga. Jadi mari kita lakukan itu dengan menambahkan entri berikut dalam array aliases di akhir file yang sama.

Dengan menentukan entri ini, kita dapat memanggil helper kita dengan menggunakan kata kunci EnvatoUser. Cukup nyaman, ya? Sebagai referensi Anda, inilah file config/app.php yang lengkap.

Kita hampir sampai! Kita telah melakukan semua kerja keras untuk sampai ke sini, dan sekarang kita bisa menuai keuntungan dari helper kustom kita.

Helper Kustom Pertama Anda Beraksi

Sekali lagi, untuk menjaga agar tetap sederhana dan mudah, kita akan menentukan rute Laravel dasar dan memanggil helper kita dari sana!

Silakan membuat file routes/web.php dengan konten berikut.

Apakah itu butuh penjelasan sama sekali? Kita baru saja memanggil helper kustom dengan singkatan EnvatoUser::get_username, dan seharusnya mengembalikan username.

Tentu saja, Anda bisa memanggil helper kita dari manapun dalam aplikasi, baik itu controller atau view.

Jadi itu mengakhiri cerita kita untuk hari ini.

Kesimpulan

Helper di Laravel benar-benar merupakan fitur yang hebat, dan saya yakin bahwa sebagai pengembang, Anda akan senang untuk memperpanjangnya. Dan itulah topik hari ini—kami melewati dasar-dasar struktur file helper Laravel dan menciptakan helper yang berguna.

Saya harap Anda menikmati artikel ini dan membantu Anda menciptakan helper kustom Anda sendiri dalam pengembangan aplikasi Laravel sehari-hari.

Jangan ragu untuk meninggalkan komentar dan pertanyaan Anda di umpan di bawah ini. Saya juga menangkap komentar di Twitter saya dan menanggapi mereka sesegera mungkin!

Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.