Da php.net:
Quali sono gli spazi dei nomi? Nei più ampi spazi dei nomi di definizione sono disponibili gli elementi di incapsulamento . Questo può essere visto come un concetto astratto in molti posti. Ad esempio, in qualsiasi sistema operativo le directory servono per raggruppare i relativi file e fungono da spazio dei nomi per i file al loro interno. Come esempio concreto , il file foo.txt può esistere in directory/home/greg e in /home/other, ma due copie di foo.txt non possono coesistere nella stessa directory. Inoltre, per accedere al file foo.txt di fuori della casa/greg directory/ , dobbiamo anteporre il nome directory per il nome del file utilizzando il separatore di directory per ottenere /home/greg/foo.txt. Questo stesso principio si estende agli spazi dei nomi nel mondo di programmazione .
Quindi, come un altro poster menzionato, gli spazi dei nomi possono essere utilizzati per raggruppare gli elementi.
Per capire perché questo potrebbe essere utile, si supponga di voler scrivere un plug-in per, ad esempio, Wordpress e si desideri creare una classe denominata "MyClass". Il problema è, però, non hai idea se qualche altro sviluppatore abbia già scritto un altro plug-in di Wordpress usando una classe chiamata "MyClass". Quindi, per evitare conflitti di denominazione, invece si nomina la classe "MyPluginMyClass". Questo è fastidioso, ma probabilmente evita i conflitti di denominazione.
Ma poi arriva il rilascio di PHP 5.3, che finalmente supporta gli spazi dei nomi (assumiamo anche che Wordpress e tutti i server su cui è distribuito passino a PHP 5.3). Ora puoi creare uno spazio dei nomi, pronunciare "MyPlugin" e incapsulare "MyClass" al suo interno. Fatto ciò, puoi pubblicare il tuo plug-in senza preoccuparti che la tua versione di "MyClass" sia in conflitto con la versione di "MyClass" di qualcun altro.
fonte
2009-06-13 17:07:36
Non metterti a terra - un diploma di laurea non è un buon predittore di un buon sviluppatore e sospetto che la maggior parte degli sviluppatori a livello globale non sia così afflitta! –