CodeBlanks Logo Icon CodeBlanks

Global namespace

PHP kursu · İleri seviye · Ders 30/92

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

  1. Global namespace kavramlarını eşleştir

    \DateTime
    Global sınıf
    namespace yok
    Global alandasın
    \strlen()
    Global fonksiyon
    fallback
    Mevcutta yoksa global
  2. 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.

  3. 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");
    

İleri seviye bölümündeki tüm dersler