我非常愿意使用 Java 包命名约定
com.website.app.whatever
但我不确定在 PHP 中执行此操作的最佳方法。
选项1:
创建目录结构
com/
mysite/
myapp/
encryption/
PublicKeyGenerator.class.php
Cipher.class.php
Xml/
XmlHelper.class.php
XmlResponse.class.php
现在这就是 Java 的做法,它使用文件夹来组织层次结构。然而,这在 PHP 中有点笨拙,因为没有对它的原生支持,而且当你移动东西时,你会破坏所有包含。
选项 2
使用句点为包命名类,因此名称就像在 Java 中一样,但都可以在同一个目录中,从而使 __autoload 变得轻而易举。
classes/
com.mysite.myapp.encription.PublicKeyGenerator.class.php
com.mysite.myapp.encription.Cipher.class.php
com.mysite.myapp.xml.XmlHelper.class.php
com.mysite.myapp.xml.XmlResponse.class.php
这里唯一真正的缺点是所有类都在一个文件夹中,这可能会让大型项目感到困惑。
征求意见,哪个是最好的还是有其他更好的选择?