rin*_*ter 8 php spl autoload psr-0
我正在构建一个框架(这是一个巨大的简化 - 请不要建议使用现有的框架代替,这没有用),我希望能够集成其他库.
PSR-0建议建议每个子命名空间内的所有文件都包含在它们自己的特定目录中.为了使我的框架用户不那么复杂,我想将所有内容保存在一个命名空间中,但是将文件组织到目录中.
如果PHP库可以注册自己的自动加载器spl_register_autoload(),那么为什么必须遵守这个目录结构呢?简单地避开PSR-0,为我的类使用我自己的自动加载器,然后使用(例如)Symfony的自动加载器来处理我可能使用的任何Symfony类是否可行/允许?
没有人强迫你遵守标准.当然,您可以制作自己的自动加载器并使用它.
该规范最有可能是为了使库更容易理解而创建的,并认为如果所有代码使用相同的结构,那么任何人都应该能够立即知道去哪里找到某个类.
以下标准具有一定的优势,例如:
缺点可能是您可能不喜欢标准.如果是这种情况,那么在决定是否遵循时,你应该权衡其中的优势.