为什么PSR-0中将下划线转换为目录分隔符


Why are underscores converted to directory separators in PSR-0?

我想弄清楚为什么类名中的下划线会在PSR-0中转换为目录分隔符?我肯定这是有原因的,但我想不出为什么。

如果我在命名空间'namespace'subnamespace中有一个名为my_class_name的类当我想要的是'namespace'subnamespace'my_class_name时,它不会变成'namespace'subnamespace'my'class'name吗?我明白,如果我的类系统是围绕这个构建的,它就可以工作,但如果我想要目录分隔符,我只需要使用反斜杠而不是下划线。

因为历史。在PHP获得对项目的名称空间支持之前,使用下划线分隔的位作为一种穷人的名称空间是很常见的。在PSR-0创建时,仍然有足够的事情要做,使它成为一个实际的决定。