那样的file-path-in-class-name约定呢?

Pet*_*nov 2 php naming-conventions

(特别是PHP)的人对于类的命名约定有何看法,其中类名反映了与项目目录相关的文件路径?例如:

# /project/Session/Abstract.php
# /project/Session/Database.php

class Session_Database extends Session_Abstract ...
Run Code Online (Sandbox Code Playgroud)

我相信你明白了.我也确定一些优点是显而易见的..但你怎么想 - 为了获得非常好的目录结构很容易导航,是否值得延长类名?

这也允许PHP中的单行__autoload($ class)定义:str_replace('_','/',$ class);

我想有些人会认为这种惯例是愚蠢的.我个人喜欢它,但我没有看到其他人使用它,我不太确定它在实践中是否会如此有效.

其中一个缺点可能是删除了include/require调用,所有类都依赖于(粘合在一起)自动加载函数,有些人可能认为,这不符合他们对松散耦合的理解.

到目前为止,我所知道的关于这种方法的唯一参考是http://softwareengineering.vazexqi.com/files/pattern.html

所以,你对这个有意见吗?

Emi*_*l H 5

然后你一直没看.PEAR使用这种方法.所以做Zend框架.它是PHP世界中一个相当成熟的标准.我不知道我什么时候第一次遇到它,但我个人已经使用它并喜欢它好几年了,既作为我自己的框架的一部分,也作为公共可用框架的一部分,如ZF.