su1d
Старожил PHPClubа
обосновываю: я конечно не много языков знаю, но ни в одном из них не используется \ в качестве разделителя чего бы то ни было. в лучшем случае -- деление нацело (РНР-аналог: %).Автор оригинала: tony2001
>да они офигели!
обоснуй.
de facto это либо двоеточия, либо точки.
занят для очень похожей функции: разделять имена классов и методов.>чем :: плох?
тем, что занят?
как отличить статический вызов от вызова функции из неймспейса?
мне одному только кажется, что разделение неймспейсов и классов -- это практически то же самое?
неймспейс -- дословно: "пространство имён". когда имя в пространстве занято, будь то классом, функцией, или другим неймспейсом, то это имя уже занято. по-моему, очень стройно получается, разве нет?>конфликты между именами разрешаются очень легко запретом на определение
>класса и функции с одним и тем же именем внутри одного namespace'а
ха.ха.ха.
а теперь придумай к этому хотя бы одно логическое объяснение.
ещё довод:
неймспейсы -- это как если бы сделали поддержку private classes, т.е. когда можно определять один класс внутри другого.
единственная разница только в том, что класс может быть определён лишь в одном единственном файле (если не уродствоваться include()'ами), в то время, как неймспейсы можно "размазать" по нескольким файлам и даже папкам.
\ -- это:и чем, кстати, плох \ ?
-) DIRECTORY_SEPARATOR под виндами
-) воспринимается скорее как какая-то операция деления, чем разделитель неймспейса/класса
-) нестандартно. нигде больше нет \ как разделителя неймспейсов.