【发布时间】:2015-11-25 19:53:45
【问题描述】:
我想弄清楚为什么类名中的下划线会被转换为PSR-0 中的目录分隔符?我确信这是有原因的,但我想不出为什么。
如果我在命名空间 \namespace\subnamespace 中有一个名为 my_class_name 的类
当我想要的是\namespace\subnamespace\my_class_name 时,那不会转换为\namespace\subnamespace\my\class\name 吗?
我知道如果我的类系统是围绕这个构建的,它会起作用,但如果我想要目录分隔符,我会使用反斜杠而不是下划线。
【问题讨论】:
-
一般来说,你不应该在类名中使用下划线。驼色箱是首选。
-
我个人没有,但我使用的是与 PSR-0 兼容的自动加载器,但必须使用一组我没有创建的类(其中包含类名中的下划线)。特别是github.com/Setasign/FPDI。我知道他们有一个 composer.json 文件可以解决我的问题,但是我的系统没有运行 composer(这本身就是另一个问题,但那是另一天的问题)。不过,这不是重点。我真的只是想问为什么 PSR-0 会包含这样的内容?
-
请注意,PSR-4 自动加载不会将下划线转换为目录分隔符。