Pernah nggak kepikiran, kenapa Laravel terasa nyaman dipakai di banyak project? Salah satu alasannya adalah fleksibilitasnya dalam hal Dependency Injection (DI). Nah, salah satu cara paling umum DI di Laravel adalah dengan menggunakan Constructor Injection di Controller. Awalnya, jujur aja, saya kurang begitu paham kenapa harus repot-repot inject dependency lewat constructor. Kirain bisa lebih cepat kalau langsung panggil di dalam method. Tapi, setelah beberapa project, saya mulai merasakan manfaatnya, terutama saat project makin besar dan kompleks. Tips & Best Practices Di banyak project, biasanya saya mulai dari memikirkan dependencies apa yang dibutuhkan oleh Controller. Misalnya, Controller `PostController` butuh `PostRepository` untuk mengakses data post dari database. Nah, `PostRepository` ini yang akan kita inject lewat constructor. Kesalahan yang sering kejadian di tim adalah lupa inject dependency. Akibatnya, error `Class 'App\Repositories\PostRepository'...
Pernah nggak kepikiran, kenapa Laravel terasa nyaman dipakai di banyak project? Salah satu alasannya adalah fleksibilitasnya, termasuk dalam menangani request. Nah, seringkali kita dihadapkan pada pilihan: pakai controller atau route closure? Keduanya punya kelebihan dan kekurangan, dan buat pemula, milihnya bisa bikin bingung. Dulu, waktu baru mulai belajar Laravel, saya selalu bingung. Route closure itu ringkas, cepat ditulis, tapi lama-lama kok rasanya kurang terstruktur ya? Terus, kalau projectnya makin besar, ngurusin logika di route closure jadi kayak mimpi buruk. Setiap kali ada perubahan, harus ngulik-ngulik kode yang berceceran di sana-sini. Akhirnya, saya mulai beralih ke controller, dan ternyata banyak manfaatnya. Tips & Best Practices Pertama, mulai dengan controller kalau logikanya kompleks. Di project e-commerce yang pernah saya kerjain, fitur keranjang belanja itu lumayan rumit. Bayangin aja, harus ngitung total harga, nambah-kurangin item, ngecek ketersediaan...