namespace ile kütüphane veya bir nesne ile yapacağınız işlemleri bir arada tutarsınız.
Örneğin bir üye ile ilgili gerekli class fonksiyon sabit ne gerekiyorsa bir üye namespacesi altında toplanıp
üye\sinifadi veya üye\fonksiyon gibi isimlerle erişilebilir. Böylece kod yönetimi daha da kolay olur hem de declare hatalarından dahada fazla kurtulmuş oluruz.
Sınıfların fonksiyonlardan bir farkıda zaten declare hataları değil midir ?
Peki aynı şey şimdide sınıflar için geçerli olmakta yani iki aynı sınıf olduğunda declare hatası alıyoruz işte namespace bunu da önlüyor. farklı farklı namespace ler içinde aynı isimle sınıf sabit veya fonksiyonlar olabilir ama ulaşım farklı olduğundan declare hataları da almayacağızdır.
namespace ifadesinden önce declare() hariç başka hiç bir kod olamaz.
örnek vermek gerekirse.


abc.php:
namespace uye {
function isim() { echo 'Selam Üye'; }
}
namespace ziyaretci {
function isim() { echo 'Selam Ziyaretçi'; }
}
// Kullanım
uye\isim();
echo '<br>';
ziyaretci\\isim();


görüldüğü üzere iki tane isim adında fonksiyon olmasına rağmen declare hatası vermeyecektir. Ulaşırkende namespace\sinif\fonksiyon\sabit şeklinde belirterek ulaşıyoruz.
Bunu bir sistemin disk yapısı gibi düşünebilirsiniz c:\windows gibi...
Yusuf Koç - Raiden