Pendahuluan Bayangin lagi ngerjain fitur sederhana, tapi pas user upload foto profil sekaligus dokumen pendukung, server malah kena memory limit. Saya sering lihat developer baru yang langsung looping file tanpa filter, padahal Laravel punya cara elegan buat handle ini tanpa bikin server ngos-ngosan. Kita akan bedah gimana bikin alur upload yang aman dan efisien. Tips & Best Practices Di banyak project, biasanya saya mulai dari validasi array file. Jangan pernah asal simpan sebelum cek ukuran dan extension-nya, karena ini pintu masuk utama serangan malware. Selanjutnya, saya selalu pakai queue buat proses upload yang berat, supaya user nggak nunggu lama di front-end pas proses upload berlangsung. Terakhir, saya lebih suka simpan path file di database ketimbang file-nya langsung, biar struktur storage tetap rapi dan gampang di-migrate. Contoh Kode Pas kita butuh handle upload banyak file sekaligus, biasanya kodenya terlihat seperti ini di controller: public function store(Request $r...
Pendahuluan Bayangin lagi ngerjain fitur kategori produk yang levelnya bisa dalem banget, terus dapet permintaan buat narik semua cabang di bawahnya sekaligus. Biasanya, kalau cuma pakai parent_id biasa, kita bakal kena masalah N+1 query yang bikin aplikasi lemot parah. Nested set ini datang jadi penyelamat karena memungkinkan kita buat query hirarki dengan performa yang jauh lebih efisien. Tips & Best Practices Di banyak project, biasanya saya mulai dari menaruh logic validasi di dalam Model Event agar struktur tree tidak rusak saat update. Jangan lupa selalu gunakan database transaction kalau sedang melakukan operasi pindah node, supaya data nggak korup kalau tiba-tiba query gagal di tengah jalan. Saya juga sangat menyarankan pakai package seperti baum/nestedset atau kalnoy/nestedset daripada nulis query manual, karena matematikanya seringkali bikin pusing kalau ada salah input. Contoh Kode Misalnya kita lagi buat sistem kategori, kodenya kira-kira bakal kayak gini: <pre>...