为了呈现的替代,整个命名结构代替只是建议名称。 Zend Framework和其他库具有与文件在树中的位置相对应的命名结构。半虚构的例子:
Class name Is in
-----------------------------------------------------------
Zend_Auth /Zend/Auth.php
Zend_Auth_Adapter /Zend/Auth/Adapter.php
Zend_Auth_Helper /Zend/Auth/Helper.php
Zend_Auth_Adapter_HTTP /Zend/Auth/Adapter/HTTP.php
所以下划线是目录分隔符,名字的最后一个元素是PHP文件的名称。
这样做的主要原因是它使autoloading非常容易,但它也是按任务排序库的好方法。另外,当你看到代码中某处使用了某个类时,你总是可以告诉哪个文件位于这是一个很大的优点。
在你现在使用的方法中,我看到的问题是“src”对于那个类实际做了什么很不清楚。也许一个更有说服力的名字(比如“工具”或“查询”)会是顺序的,或者是主要的用户类,并且应该被命名为“用户”?
应用上述例子到结构可能导致
Class name Is in
------------------------------------------------------------
MyAppname_User_Update /User/Update.php
MyAppname_User /User.php
哦,有什么@Charles说,在他的评论。你绝对不应该再为PHP 4开发。它是一个死的版本,并且是no longer supported.
在任何情况下,您都不应该在开发人员认为2年以上死亡的语言中进行新的开发。也就是说,它也不会以任何有意义的方式影响这个问题的答案... – Charles 2011-03-16 07:16:59
我很想升级到PHP 5. – Jared 2011-03-16 07:22:39
你可能有令人信服的理由,为什么你不能切换到5,但重申因为这真的很重要:PHP 4是一匹死马,甚至没有获得安全修补程序,并且具有比5更有限的OOP功能。2011年从零开始学习PHP 4非常不寻常。如果你的雇主/客户/无论有一个遗留的生产应用程序运行在4,他们真的应该考虑将其切换到5 - 尤其是如果它是面向公众的。通常不那么痛苦。 – 2011-03-16 07:32:41