Öğren · Dene · Üret
PHP · Web'e özel: saate göre selamlama — videolu atölye
Adım adım Türkçe görsel rehber. Her bölümden sonra duraklat ve kendi ortamında dene.
4:35 dk · Sessiz görsel anlatım · Duraklatıp kodu veya adımı kendin dene.
Bölümler
Videoyu metin olarak oku
Web'e özel: saate göre selamlama
Zamana bağlı bir kuralı test edilebilir girdilerle kurmak.
Kavramı kur
Web uygulamasında PHP sunucuda çalışır; tarayıcıya ürettiği yanıt gider. Zaman bilgisi sunucunun ayarlarına göre okunabilir, fakat ziyaretçinin yerel saati aynı olmayabilir. Bu yüzden önce gerçek saat çağrısından bağımsız, açık bir saat girdisiyle karar kuralını kuruyoruz. Böylece sabahı beklemeden sabah dalını test edebilirsin.
Neden böyle çalışıyor?
Birden çok aralıkta ilk doğru dal çalışır. Önce 12’den küçük değerleri, sonra 18’den küçük kalanları ele alırız. İkinci koşulun “kalan değerler” üzerindeki etkisini düşün: 9 zaten ilk dalda işlenmiştir. Sınır noktaları 12 ve 18 hangi mesaja gidecek, doğal dille açıkça yaz.
Çalışma sırası
İleride date gibi işlevlerle saat okuduğunda zaman dilimini ayrıca ayarla ve belgele. İş kuralını bir fonksiyona ayırmak, farklı girdilerle denemeyi kolaylaştırır. Bu örnek oturum, kişisel saat veya kullanıcı profilini otomatik tespit eden bir sistem değildir; önce koşullu akışı öğreniyoruz.
İkinci örnek · 1
$saat açıkça tanımlanmış test girdisidir. Kodun tamamı yazılı derste bulunur.
<?php
$saat = 9; // Deneme girdisi; sunucunun gerçek saati değil.
if ($saat < 12) {
echo "Günaydın\n";
} elseif ($saat < 18) {
echo "İyi günler\n";
} else {
echo "İyi akşamlar\n";
}Beklenen sonucu oku
Kalan 18–23 aralığı akşam mesajı alır; geçersiz saatler ayrıca doğrulanmalıdır.
Beklenen: Günaydın
Bir değeri sen değiştir
11, 12, 17 ve 18 girdileri için mesajı tahmin et. 24 veya -1 gibi geçersiz girdileri yakalayan doğrulama ekle.
Hata nereden gelir?
Sunucu saatini kullanıcının yerel saati sanmak yanlış selamlama üretebilir; zaman dilimi beklentisini belirt.
Kendi çözümünü kur
Selamlama kuralını saat parametresi alan bir fonksiyona taşı. Gerçek zaman kaynağını sonra bağla; önce sınırları sabit girdilerle doğrula.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
<?php
function selamla(int $saat): string {
if ($saat < 0 || $saat > 23) { return "Geçersiz saat"; }
if ($saat < 12) { return "Günaydın"; }
if ($saat < 18) { return "İyi günler"; }
return "İyi akşamlar";
}
echo selamla(18) . "\n";
echo selamla(24) . "\n";Kendini kontrol et
Saat 12, saat < 12 koşulunda neden sabah dalına girmez? Yanıt: Küçüktür karşılaştırması eşitliği kapsamaz; sonraki uygun dal değerlendirilir.
Beklenen: İyi akşamlar Geçersiz saat
Bu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.