Kamis, 23 September 2021

Memahami Laravel Shorthand: Tutorial Lengkap

Dalam post kali ini, kita akan membahas short syntax yang ada di Laravel yang Anda sendiri sering gunakan teknik yang berulang - ulang yang padahal bisa dibuat lebih simple.

Dalam post kali ini, kita akan membahas short syntax yang ada di Laravel yang Anda sendiri sering gunakan teknik yang berulang - ulang yang padahal bisa dibuat lebih simple.

Nullsafe

Pertama sekali, kita akan bahas tentang null safe operator.

// Common
is_null($object->relation) ? null : $object->relation->id;

// Short
optional($object->relation)->id

Pastinya jika Anda menggunakan PHP 7, Anda bisa menggunakan hal ini.

// php 7
$object->relation->id ?? null

Dan jika Anda menggunakan PHP 8, bisa seperti ini.

$object?->relation?->id;

Next, kita akan bahas tentang mengambil single data dari database.

// common
User::first()->name;

//short
User::value('name');

Saat kita ingin menampilkan data, seiyanya kita harus menampilkan yang penting-penting saja, karena tidak baik menampilkan data yang tidak penting, dan itu juga mempengaruhi kinerja aplikasi.

// Common
User::select('name', 'email')->get();

// Short
User::get(['name', 'email']);

Ordering

Pernah gak berfikir ingin menampilkan data dari yang pertama kali dibuat.

// Common
User::orderBy('created_at', 'asc')->get();

// Short
User::oldest()->get();

Random Order

Mungkin Anda ingin menampilkan satu data secara acak. Seperti contoh, jika Anda perhatikan halaman beranda pada Parsinta, itu testimonial yang terpilih kan secara acak. Berikut adalah shorthand nya.

// common
User::get()->random(1)->first();

// short
User::inRandomOrder()->first();

Where

Lagi-lagi masih tentang menampilkan data, lebih tepatnya dengan spesipik column

// Common
User::orderBy('age', 'desc')->get();

// Short
User::latest('age')->get();

where statement. Simple but sure.

// Common
User::where('email', '=', '[email protected]')->first();

// Short
User::whereEmail('[email protected]')->first();

Carbon

Dan kali ini tentang Carbon, lebih mudah jika tidak menggunakan class.

// Common
Carbon\Carbon::now();
Carbon\Carbon::today();

// Short
now();
today();

Bagaimana dengan request, kareana ini sering sekali kita gunakan untuk membuat conditional.

// Common
$request->has('value') ? $request->value : 'default';

//Short
$request->get('value', 'default');

Session

Kali ini tentang session, mungkin tidak sering Anda gunakan, tapi saya lumayan sering, jadi sangat membantu juga.

Put

Yang biasa kita lakukan untuk start session nya.

// Common
Session::put('key', $value);

//Short
session(['key' => $value]);

Get

Menampilkan session yang telah di tetapkan.

Session::get('cart'); // Common
$request->session()->get('cart'); // Or

session('cart'); // Short

Where Has

Kali ini ada hubungannya dengan Laravel terbaru yaitu versi 8.57.0, sekarang Anda bisa langsung menggunakan whereRelation dari model nya.

$user = User::find(5);

// Common
Post::whereHas('user', fn ($query) => $query->where('id', $user->id))->get()->pluck('title');

// Short
Post::whereRelation('user', 'id', $user->id)->get()->pluck('title');

Report

Ketika laravel v9.42, ada penambahan fungsi baru yaitu report_if dan report_unless.

// Common
if(! Auth::user()->isAdmin()){
    report('Is route need permission user');
}

// Shorten/avoid `if` with:
report_if(
    Auth::user()->isAdmin(),
    'Is route need permission admin'
);

// or
report_unless(
    Auth::user()->isAdmin(),
    'Is route need permission user'
);

Itu saja untuk tips and trik kali ini. Semoaga bermanfaat. Share jika kalian suka. Bookmark jika kalian tidak sempat membaca. Saya Irsyad. See you next time 🙂

Karteil
Destinasi Utama Belajar Online dengan Format Tulisan yang Elegan
Kunjungi Sekarang