Membuat Helper sendiri di Laravel – Haloo semua nya, Assalaamualaikum wr wb..
Nah kali ini kita akan coba membuat Helper sendiri pada Laravel..
update: Mimin sudah membuat lagi cara simple dan singkat nya dalam pembuatan helper, silahkan cek disini..
Apa itu Helper? dan apa fungsi nya?
Laravel sendiri sebetulnya sudah memiliki banyak helper yang bisa kita gunakan secara global..
Sebagai contoh, misalkan kita ingin mengecek item tertentu apakah terdapat di suatu array atau tidak, kita bisa gunakan perintah Arr::has()..
Atau ketika ingin membuat suatu string menjadi huruf besar, kita bisa gunakan perintah Str::upper()..
Jadi intinya, fungsi dari Helper itu adalah untuk mempermudah kita ketika ingin menjalankan suatu fungsi, kita tinggal panggil Helpers nya aja tanpa harus mengoding nya kembali..
Persiapan
Sekarang kita mulai instalasi Laravel nya terlebih dahulu..
Disini saya akan menggunakan Laravel versi 8, dan versi PHP yang saya gunakan adalah 7.4..
Untuk cara instalasi Laravel nya, kalian bisa kunjungi halaman official laravel nya disini..
Membuat Helper sendiri di Laravel
Nah setelah kalian berhasil instalasi Laravel nya, maka secara default struktur folder pada Laravel adalah sebagai berikut:
Untuk dapat membuat Helper sendiri, kita butuh sebuah folder baru untuk tempat penampungan nya..
Baca juga : Panduan Lengkap Yajra Datatables Server Side dengan Studi Kasus
Kita taruh aja di dalam folder “../app“.. Kita buat folder baru disana dengan nama “Helpers”, maka struktur folder nya akan menjadi seperti ini:
Sekarang misalkan kita ingin membuat helper sederhana untuk proses perhitungan penjumlahan dari 2 buah angka..
Kita beri nama helper tersebut dengan “Minikal”..
Sekarang didalam folder Helpers kita buat sebuah file baru dengan nama “Minikal.php“..
Sekarang kalian isi file Minikal.php seperti berikut:
<?php namespace App\Helpers; class Minikal { public static function penjumlahan($angka_1, $angka_2) { $hasil = $angka_1 + $angka_2; return $hasil; } }
Didalam Class Minikal, kita membuat sebuah function penjumlahan dengan 2 parameter, dimana nanti dari 2 parameter tersebut akan kita jumlahkan nilai nya dan hasil nya akan kita return..
Oh iya, function tersebut harus bersifat static yaa..
Kalian juga bisa membuat beberapa function didalam nya, jadi ga cuma function penjumlahan() aja..
Misal kalian bisa bikin function pengurangan(), perkalian(), atau pembagian()..
Kemudian langkah selanjutnya, kita buat ServiceProvider nya dengan menjalankan perintah seperti berikut:
php artisan make:provider MinikalServiceProvider
Setelah menjalankan perintah tersebut, kita akan mendapatkan sebuah file baru didalam folder “../app/Providers” dengan nama MinikalServiceProvider.php..
Kita buka file tersebut, maka nanti didalam nya kamu akan menemukan 2 buah function, yaitu function register() dan function boot()..
../app/Providers/MinikalServiceProvider.php
Didalam function register, kamu tambahkan script seperti berikut:
public function register() { require_once app_path() . '/Helpers/Minikal.php'; }
Kemudian langkah terakhir adalah mengkonfigurasi file ../config/app.php..
Didalam file tersebut kita perlu mendaftarkan providers yang sudah kita buat sebelumnya, dan juga menambahkan alias untuk helper tersebut agar dapat dipanggil..
Langsung saja kita buka file nya dan tambahkan beberapa potongan kode seperti berikut:
../config/app.php
.... 'providers' => [ /* * Laravel Framework Service Providers... */ .... .... .... App\Providers\MinikalServiceProvider::class, ], .... 'aliases' => [ .... .... .... 'Minikal' => App\Helpers\Minikal::class, ], ....
Jadi didalam file /config/app.php, kalian cari bagian providers, kemudian tambahkan kode berikut:
App\Providers\MinikalServiceProvider::class,
Dan juga dibagian aliases, kalian tambahkan potongan kode berikut:
'Minikal' => App\Helpers\Minikal::class,
Dengan begitu, nanti kita bisa menggunakan helper tersebut dengan cara memanggil alias nya..
Sampai sini kita sudah berhasil membuat Helper sendiri di laravel..
Sekarang kita akan coba test memanggil helper yang sudah kita buat barusan..
Menggunakan Helper yang sudah kita buat
Untuk ngetest nya, akan kita lakukan di file web.php..
Kita buat route baru disana dengan method GET seperti berikut:
<?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { return view('welcome'); }); Route::get('test-helper-minikal',function(){ $angka_1 = 5; $angka_2 = 10; $data = \Minikal::penjumlahan($angka_1, $angka_2); echo $angka_1." Ditambah ".$angka_2." Sama Dengan ".$data; });
Perhatikan route diatas, kita menggunakan method GET dan url nya yaitu “../test-helper-minikal”..
Kemudian didalam route tersebut, kita mendefine 2 buah variable untuk menentukan angka pertama dan angka kedua nya..
.... $angka_1 = 5; $angka_2 = 10; ....
Kemudian kita memanggil helper Minikal nya, dan memanggil method penjumlahan() yang ada didalam helper tersebut, return dari proses tersebut kita tampung kedalam variable data..
$data = \Minikal::penjumlahan($angka_1, $angka_2);
Kemudian terakhir kita echo return nya seperti berikut:
echo $angka_1." Ditambah ".$angka_2." Sama Dengan ".$data;
Sekarang coba kalian akses url nya di web browser.. Dan pastikan muncul response seperti berikut:
http://127.0.0.1:8000/test-helper-minikal
Beberapa Helper yang sering saya gunakan
Kalo tadi kita sudah berhasil membuat helper dan menggunakan nya, sekarang saya akan sedikit sharing tentang beberapa helper bawaan laravel yang sering saya gunakan..
1. Str::replace
Method ini biasa saya gunakan untuk mereplace suatu kata pada suatu string dengan suatu kata yang baru, untuk contoh nya:
use Illuminate\Support\Str; $string = 'Laravel 8.x'; $replaced = Str::replace('8.x', '9.x', $string);
2. Str::remove()
Kalo tadi replace, yang ini remove, teknik penggunaan nya sama, yaitu kita mencari suatu kata didalam suatu string, jika terdapat kata tersebut, maka kita remove..
use Illuminate\Support\Str; $string = 'Peter Piper picked a peck of pickled peppers.'; $removed = Str::remove('e', $string); // Ptr Pipr pickd a pck of pickld ppprs.
3. Str::random()
Method ini digunakan untuk merandom suatu string, dimana length nya dapat kita tentukan sendiri..
use Illuminate\Support\Str; $random = Str::random(40);
4. Str::slug()
Kalo kalian pernah membuat CMS untuk blog, pasti kalian pernah membuat suatu function untuk membuat Slug URL yang seo friendly berdasarkan judul artikel..
Pada Laravel, sudah disediakan helper untuk melakukan hal tersebut, nama helper nya adalah Str::slug(), untuk cara penggunaan nya seperti berikut:
use Illuminate\Support\Str; $slug = Str::slug('Laravel 5 Framework', '-'); // laravel-5-framework
5. Str::start()
Method ini digunakan untuk memberikan suatu kata pada sebuah string, dan jika kata tersebut ternyata sudah ada, maka tidak akan jadi double..
use Illuminate\Support\Str; $adjusted = Str::start('this/string', '/'); // /this/string $adjusted = Str::start('/this/string', '/'); // /this/string
6. Str::substr()
Method ini digunakan untuk memotong beberapa kata dari sebuah string, kita bisa tentukan sendiri panjang string nya..
use Illuminate\Support\Str; $converted = Str::substr('The Laravel Framework', 4, 7); // Laravel
Pada parameter kedua terdapat angka 4 yang artinya kita mulai mengambil data dari kata ke 4.. (Dimulai dari 0)..
Kemudian parameter ketiga terdapat angka 7 yang artinya kita akan mengambil nya sebanyak 7 karakter..
7. Str::title()
Method ini digunakan untuk membuat setiap huruf pertama pada suatu kata menjadi huruf besar..
use Illuminate\Support\Str; $converted = Str::title('a nice title uses the correct case'); // A Nice Title Uses The Correct Case
8. Str::ucfirst()
Method ini digunakan untuk membuat huruf pertama menjadi kapital pada suatu kalimat..
use Illuminate\Support\Str; $string = Str::ucfirst('foo bar'); // Foo bar
9. Str::upper()
Membuat semua huruf menjadi huruf besar..
use Illuminate\Support\Str; $string = Str::upper('laravel'); // LARAVEL
10. Str::uuid()
Method ini digunakan untuk generate UUID versi 4, biasanya saya menggunakan ini untuk menggantikan Atribut Auto Increment pada kolom database..
Karena uuid ini data yang dihasilkan benar-benar random dan unik..
use Illuminate\Support\Str; return (string) Str::uuid();
11. Str::wordCount()
Method ini digunakan untuk menghitung total kata dalam suatu kalimat..
use Illuminate\Support\Str; Str::wordCount('Hello, world!'); // 2
12. Str::words()
Method ini digunakan untuk membatasi kata yang muncul dalam suatu paragraph..
Terdapat 3 argument..
Argument pertama kita masukkan data string nya yang ingin dibatasi..
Argument kedua kita tentukan berapa kata yang ingin ditampilkan..
Argument ketiga adalah kalimat terakhir yang muncul di akhir kalimat..
use Illuminate\Support\Str; return Str::words('Perfectly balanced, as all things should be.', 3, ' ....'); // Perfectly balanced, as ....
13. #url()
Kalo kamu ingin mendapatkan halaman url yang sedang kamu akses, kamu bisa gunakan perintah:
$current = url()->current();
Kalo ingin get url nya secara full termasuk dengan base url nya, gunakan perintah:
$full = url()->full();
Kalau ingin nge get url dari halaman yang sebelumnya sudah kita buka, jalankan perintah:
$previous = url()->previous();
14. dd()
Method dd digunakan untuk ngedump() suatu variable, sekaligus menghentikan sistem mengeksekusi script..
dd($value); dd($value1, $value2, $value3, ...);
15. response()->json()
Method ini biasa saya gunakan ketika sedang membuat API, mempermudah kita dalam membuat response json nya..
return response()->json(['foo' => 'bar'], 200, $headers);
Support Us
Jika artikel ini bermanfaat untuk kamu, membantu menyelesaikan masalah yang sedang kamu hadapi, kamu juga bisa dukung kami dengan mengunjungi halaman berikut: https://saweria.co/sangcahayaid
Terima kasih..
[…] Baca juga : Cara Membuat Helper Sendiri di Laravel […]
[…] sudah pernah membahas tentang bagaimana cara membuat Helper sendiri di Laravel, bisa kalian baca disini […]
[…] Sebelumnya kita sudah pernah membahas tentang bagaimana cara membuat helper sendiri di Laravel.. […]