PHP 5.3 kullanan sınıfları namespace için yeni yeteneğini kullanan zaman başkasının bu sorunla karşılaştı merak ediyor.
Benim uygulamada kullanıcı türlerini tanımlamak için ayrı bir sınıf kullanarak bir dinamik sınıf çağrı üreten duyuyorum. Temelde sınıf definer türlerinden bir tamsayı temsilini alır ve onları yorumlar, bu kullanıcı için model olarak çağrılacak classname içeren bir dize döndüren.
Ben küresel alanda tanımlı bu adla kullanıcının türü için bir nesne modeli var, ama ben Editör ad kullanıcının editörü için aynı ada sahip başka bir nesne var. Nedense, PHP bana şöyle bir isim alanlı dinamik arama yapmak için izin vermez.
$definition = Definer::defineProfile($_SESSION['user']->UserType);
new \Editor\$definition();
Özdeş sözdizimi genel ad alanında küresel temel nesne modeli çağırmak için çalışıyor ve ben uygulama genelinde güvenilir bu şekilde kullanın.
$definition = Definer::defineProfile($_SESSION['user']->UserType);
new $definition();
Bu, doğru, dinamik, istenen sınıfı arayacak.
İki farklı davranırdı bir nedeni var mı, yoksa bu yeni bir özellik olarak henüz bu malikâne uygulanmadı ad alanları için dinamik çağrı var? Dinamik açıkça kod adını vermeden başka bir ad bir sınıf aramak, ama bir değişken içinde başka bir yolu var mı?