Global namespace
Başında \ olan global namespace ve global fonksiyon çağrılarını öğrenirsin.
Global namespace
Hiç namespace bildirimi yapılmayan kod global namespace'dedir. Başka bir namespace'in içinden global bir sınıfa erişmek için başına \ koyarsın: \DateTime, \strlen.
PHP önce mevcut namespace'de arar, bulamazsa global namespace'e düşer; buna fallback denir. Sınıflar için \ öneki önerilir; fonksiyonlar ve sabitler için fallback daha yaygındır.
Sınıflarda \ öneki önerilir
Bir namespace'in içindeyken new DateTime() yazarsan PHP önce App\DateTime sınıfını arar; bulamazsa global DateTime'a düşer. Ama bu her seferinde fallback arama yapar ve bazen beklenmeyen davranışlara yol açar.
Bu yüzden global sınıfları \DateTime biçiminde yazmak önerilir. Fonksiyonlar için fallback daha güvenlidir; çünkü yerel fonksiyon nadiren tanımlanır.
Uygulama Global sınıfları bir namespace içinden çağır
namespace App; tanımla. new \DateTime("2026-01-15") ile tarih oluştur ve format("Y-m-d") çıktısını yazdır. Sonra \count([10, 20, 30]) sonucunu yazdır.
Örnek çözümü göster
$date = new \DateTime("2026-01-15"); yaz. echo $date->format("Y-m-d") . "\n"; ile tarihi yazdır. echo \count([10, 20, 30]) . "\n"; ile sayıyı yazdır.
Örnek çözüm:
<?php
namespace App;
$date = new \DateTime("2026-01-15");
echo $date->format("Y-m-d") . "\n";
echo \count([10, 20, 30]) . "\n";
Kendini test et
-
Global namespace kavramlarını eşleştir
- \DateTime
- Global sınıf
- namespace yok
- Global alandasın
- \strlen()
- Global fonksiyon
- fallback
- Mevcutta yoksa global
-
Bir namespace'in içinden global strlen nasıl çağrılır?
- namespace\strlen()
- global strlen()
- ::strlen()
- \strlen()
Cevabı göster
\strlen() — Doğru. \ önekiyle global strlen fonksiyonunu çağırırsın.
-
Global sınıf erişimini tamamla
<?php namespace App; $date = new ____(); echo $date->format("Y");Cevabı göster
<?php namespace App; $date = new \DateTime(); echo $date->format("Y");