Şirketim, yıllar boyunca PHP 5.3 ad alanları eklemeden çok önce başlayan modüler bir PHP çerçevesi oluşturdu. Son zamanlarda, kitaplığımızın yeni kodunda ad alanlarını kullanmaya karar verdik ve nihayetinde eski kodu ad alanı haline getirmeyi amaçlıyoruz. Ancak, bir v5.3 öncesi kod tabanına ad alanları eklemenin iyi bir fikir olmadığını belirlemek için üzerinde çalışmaya çalıştığımız birkaç sorun var:
- Bir sınıfı adlandırabilir, ancak tüm genel sınıfların bir
\
önek gerektirmeyecek şekilde genel ad alanını alabilir miyim (kullanabilir) ? - Kütüphanemizde mevcut bir sınıfı adlandırırsak, çerçeve yükseltilir tamamlanmaz mevcut tüm projelerin kırılmasını nasıl önleyebiliriz? Örneğin, can sınıfın adı kütüphanesi değişikliği
ThemeEngine
için\module\theme\ThemeEngine
, ancak mevcut web siteleri aramaThemeEngine
olmadan herhangi kod değişiklik? Öyleyse, bu kod neye benzeyecekti?