Rabu, 22 June 2022

Tips Terbaik untuk Developer Laravel: Tingkatkan Skill Anda

Dalam artikel ini kita akan membahas beberapa tips dalam menggunakan laravel yang mungkin saja kalian belum mengetahuinya

Laravel

Dalam artikel ini kita akan membahas beberapa tips dalam menggunakan laravel yang mungkin saja kalian belum mengetahuinya.


Kirim File Lewat Email

File yang diunggah dapat dilampirkan ke email langsung tanpa harus menyimpannya terlebih dahulu.

public function handle()
{
    return $this->subject('Invoice #3923332')
                ->to('[email protected]')
                ->markdown('emails.invoice')
                ->attachData($this->file, $this->file->getClientOriginalName());
}

Pengalihan

Banyak sekali cara untuk redirect dari satu aksi yang telah kita perbuat, cuma apakah kalian tau, bahwa sejak laravel v9 ada yang namanya to_route ? Berikut ini beberapa teknik untuk redirect:

return redirect(route('wheredowego'));
return redirect()->route('wheredowego');
return to_route('wheredowego');

# Back
return redirect()->back();
return back();

Jalankan kode saat mode tertentu

Terkadang, kita ingin menjalankan script yang itu hanya akan di eksekusi di saat mode dev, ataupun production.

Pertama kita akan bahas didalam blade template

{{-- production --}}
@env('production')

@endenv

{{-- local --}}
@env('dev')

@endenv

Tidak hanya di blade, dalam controller juga bisa menggunakan fungsi app()

# production
if (app()->isProduction()) {
    
}

# local
if (!app()->isProduction()) {

}

Default mode dalam relasi

Metode ini tidak selalu harus dibuat didalam setiap relasi, ada juga kondisi yang memungkinkan Anda harus memakai teknik ini. Dalam case kali ini, kita akan menganggap bahwa Anda mempunya blog yang siapapun boleh mengomentarinya walaupun tidak register. Nah jika kita tidak membuat kondisi waktu menampilkannya, ini akan menyebabkan error.

{{ $comment->author ? $comment->author->name : "Guest" }}

Didalam model Comment harusnya sudah ada relasi ini seperti ini:

class Comment
{
    public function author()
    {
        return $this->belongsTo(User::class);
    }
}

Nah, jika kita tidak ingin memikirkan kondisi pada saat waktu menampilkannya, maka kita harus beri fungsi withDefault pada relasi tersebut seperti:

class Comment
{
    public function author()
    {
        return $this->belongsTo(User::class)->withDefault([
            'name' => 'Guest'
        ]);
    }
}

Sehingga, sewaktu kita menampilkannya, tidak perlu lagi yang namanya kondisi.

{{ $comment->author->name }}

Itu saja dulu untuk hari ini, semoga bermanfaat 🙂