🧠 Kuis: PHP OOP & Composer
Jawab semua pertanyaan. Setelah menjawab, kunci jawaban dan penjelasannya langsung ditampilkan — salah pun tidak apa-apa, bisa dicoba lagi.
1. Sebuah aplikasi memiliki kelas 'Bird' dan 'Airplane' yang sama-sama membutuhkan kemampuan terbang (fly), tetapi mereka tidak memiliki kelas induk yang sama. Fitur PHP apa yang sebaiknya kamu gunakan untuk berbagi method 'fly' ini?
2. Kamu sedang mengembangkan library pembayaran yang mengharuskan setiap payment gateway memiliki method 'pay'. Fitur apa yang sebaiknya dipakai untuk memaksakan kontrak ini ke setiap kelas gateway?
3. Saat mendefinisikan properti sensitif seperti saldo akun ($balance), praktik enkapsulasi terbaik apa yang harus dilakukan?
4. Dalam proyek besar, banyak kelas yang mungkin memiliki nama yang sama (misal kelas User dari library A dan library B). Fitur PHP apa yang memecahkan masalah bentrokan nama ini?
5. Kamu baru saja membuat project PHP baru dan ingin memasang library pihak ketiga. File manakah yang akan mencatat daftar library (dependensi) tersebut saat kamu menjalankan 'composer require'?