Proje: Quiz uygulaması
5 derslik quiz projesine genel bakış: OOP ve dizilerle soru-cevap uygulaması.
Proje: Quiz uygulaması
Bu 5 derslik projede bir quiz uygulaması yapacaksın. Her derste bir parça ekleyecek, son derste çalışan bir mini uygulamayı tamamlayacaksın.
Önceki gruplarda öğrendiğin sınıf (class), yapıcı metot (constructor), metot ve foreach döngüsü bilgilerini kullanacaksın. Proje boyunca bir Question sınıfı tasarlayacaksın: soru metni, seçenekler ve doğru cevap indeksini tutan, cevabı kontrol eden bir yapı. Sonra bir Quiz sınıfı ile tüm soruları gezip skor hesaplayacaksın.
Proje yol haritası
Proje beş dersten oluşuyor. İkinci derste soru sınıfını ve yapıcı metodu yazacaksın: metin, seçenekler ve doğru cevap indeksi property'leri ile. Üçüncü derste isCorrect metodunu ekleyeceksin: kullanıcının seçtiği indeks === ile doğru cevapla karşılaştırılacak. Dördüncü derste Quiz sınıfı ile foreach döngüsünü kullanıp skor hesaplayacaksın. Son derste tüm parçaları birleştirip summary metodu ile çalışan quiz uygulamasını tamamlayacaksın.
Uygulama Question sınıfını tanımla
Bu projenin ilk parçasını yaz. Question adında bir sınıf tanımla. İçine public string $text = ""; property'sini ekle (boş dize varsayılanı). Sonra $q = new Question(); ile örnek oluştur, $q->text = "PHP nedir?"; ile metni ata ve echo $q->text; ile yazdır.
Örnek çözümü göster
class Question { ... } ile sınıfı tanımla, içine public string $text = ""; ekle. $q = new Question(); ile örnek oluştur, $q->text = "PHP nedir?"; ile ata, echo $q->text; ile yazdır.
Örnek çözüm:
<?php
// Question sınıfını tanımla ve bir örnek oluştur
class Question {
public string $text = "";
}
$q = new Question();
$q->text = "PHP nedir?";
echo $q->text;
Kendini test et
-
Quiz uygulaması neden OOP ile yazılır?
- Soru, seçenekler ve cevap tek pakette tutulur, kod tekrar kullanılır.
- Sadece döngülerle de yazılabilir, OOP fark etmez.
- Veritabanı olmadan OOP çalışmaz.
- OOP yalnızca web sayfaları içindir.
Cevabı göster
Soru, seçenekler ve cevap tek pakette tutulur, kod tekrar kullanılır. — Doğru. Sınıf, soru verisini ve cevap kontrolünü tek pakette tutar; böylece kodu başka projelerde tekrar kullanabilirsin.
-
Soru sınıfı adını tamamla
class ____ { public string $text = ""; }Cevabı göster
class Question { public string $text = ""; } -
Quiz projesi kavramlarını eşleştir
- Soru
- Soru metni ve seçenekler
- Seçenek
- Olası cevaplardan biri
- Doğru cevap
- Beklenen seçenek indeksi
- Skor
- Doğru cevap sayısı