Post

Helpful Laravel Helper

Hi, semua sahabat sharehubid. Laravel memiliki berbagai helper yang ditujukan untuk kenyamanan dan kemudahan bagi kita penggunanya. Dan, dari sekian banyak helper - helper tersebut, article kali ini akan membahas tentang beberapa helper yang mungkin perlu para pembaca ketahui. Baiklah, langsung saja ya.

1. Logger

Method Logger dapat digunakan untuk menuliskan pesan level debug kedalam Log, misalkan seperti ini :

logger('Item telah diubah.', ['id' => $item->id]);

Yang mana, ini akan menghasilkan suatu line seperti ini pada log :

[2019-06-26 09:53:22] local.DEBUG: Item telah diubah. {"id":4}

Namun, anda juga bisa untuk tidak melakukan passing value apapun ke dalam Logger dan Logger akan memberi return value berupa Logger instance.

2. Array Divider

Arr::divide() dapat digunakan untuk membagi sebuah array menjadi 2 buah array. Array pertama berisi keys dari array yang di split tadi, dan array kedua berisi values.

Contohnya, seperti ini :

use Illuminate\Support\Arr;
[$keys, $values] = Arr::divide(['nama' => 'Contoh Nama', 'umur' => 27]);
$keys: ['nama', 'umur']
$values: ['Contoh Nama', 27]

Dalam penggunaannya, jangan lupa untuk melakukan deklarasi penggunaan dari helper tersebut.

3. Blank

Method ini, digunakan untuk memeriksa apakah suatu nilai yang diperiksa bernilai kosong. Nilai kosong yang dimaksud adalah null, seperti ini :

blank('');
blank(' ');
blank(null);
blank(collect());
// akan menghasilkan : true
blank(0);
blank(true);
blank(false);
// akan menghasilkan : false

Sebagai catatan, nilai yang berupa boolean tidak bisa diasumsikan sebagai null seperti yang sudah dicontohkan.

Bagaimana bila kita ingin melakukan hal sebaliknya ?

Tentunya terdapat method kebalikannya yaitu filled.

4. Dump

Method ini sangat berguna saat kita ingin melakukan debug pada satu atau lebih variabel. Contohnya seperti ini :

dump($var1, $var2, $var3);

Selain dump, ada juga method dd. Method ini merupakan gabungan dump and die. Sehingga selain melakukan dump pada variabel, method ini juga menghtentikan eksekusi dari script.

5. Path

Laravel memiliki beberapa method yang digunakan untuk mendapatkan jalur ke suatu directory.  Beberapa method tersebut yaitu :

  • app_path
  • base_path
  • public_path
  • storage_path

Pada artikel ini, penulis hanya mnyebutkan beberpa saja namun masih terdapat method - method path yang lain.

Hasil yang di dapat dari salah satu method tersebut, contohnya seperti :

echo storage_path();
// Output:
"C:\Path\To\ProjectSaya\storage"

Kitapun dapat melakukan passing argument pada method - method tersebut dan akan ditambahkan pada path tersebut, misalkan seperti ini.

echo storage_path('file.pdf');
// Output:
"C:\Path\To\ProjectSaya\storage\file.pdf"

 

6. Slug

Slug digunakan untuk menghasilkan suatu string yang merupakan bentuk dari URL yang user friendly dari string yang kita berikan.

Contohnya seperti ini :

$slug = Str::slug('Sharehubid Is Awesome');
$slug: "sharehubid-is-awesome"

Default separator yang diberikan adalah tanda ' - ', namun kita juga dapat menggantinya dengan melakukan passing pada argument kedua seperti ini :

$slug = Str::slug('Sharehubid Is Awesome', '&');
$slug: "sharehubid&is&awesome"

 

7. Array Has Value

Method Arr::has() dapat digunakan untuk memeriksa apakah suatu item atau beberapa item, terdapat dalam sebuah array. Contohnya, seperti ini :

use Illuminate\Support\Arr;
$items = ['item' => ['name' => 'Contoh Item', 'status' => true]];
$contains = Arr::has($items, 'item.name'); 
// true
$contains = Arr::has($items, ['item.name', 'item.status']); 
// true
$contains = Arr::has($items, ['blog.name', 'blog.jumlah']); 
// false

 

8.UUID

Str::uuid digunakan untuk generate UUID. Contohnya seperti ini.

use Illuminate\Support\Str;
echo(string) Str::uuid(); // "2ad4abcc-8adc-47b6-b21e-9e5497a8af1b"

 

9. Optional

Method ini membuat kita dapat melakukan akses pada property ataupun memanggil object yang kita pass sebagai argument. Argument dalam bentuk apapun, dapat diterima pada method ini.

Bila object yang kita pass adalah null, maka kita akan mendapatkan return value null, bukan error.

Penggunaanya misalkan seperti ini :

print optional($blog->author)->full_name;

Pada contoh diatas, bila pada $blog->author itu telah diatur datanya, maka $full_name akan di print. Namun bila tidak, maka tidak akan tercetak apa - apa dan juga tidak terjadi error.

10. Pluck

Arr::Pluck() kita gunakan untuk meretieves semua data pada array berdasarkan key yang kita berikan.

Contohnya seperti ini :

$foo = [
['petugas' => ['id' => 1, 'nama' => 'Contoh 1']],
['petugas' => ['id' => 8, 'nama' => 'Contoh 2']],
];
Arr::pluck($foo, 'petugas.nama'); // ['Contoh 1', 'Contoh 2']

 

Baiklah, kira - kira begitulah yang dapat penulis sampaikan. Semoga bermanfaat. Sampai jumpa lagi pada artikel berikutnya.