Zend Framework 2是否会继续在私人成员和课堂方法面前提出下划线?例如:

class blah {
    private $_name;

    private function _doSomethingToName()
    {
    }
}

我看到他们仍然在ZF2的开发版本中。

有帮助吗?

解决方案

大概 是的,指称 民意调查:

目前有381个答复:

  • 57%的投票“是”(删除下划线)
  • 38%的投票“否”(保留下划线)
  • 4%投票“无意见”

其他提示

来自ZF2编码标准

功能和方法

功能名称必须仅包含字母数字字符。不允许下划线。数字在功能名称中允许,但灰心。 ...对于用“私有”或“受保护”修饰符声明的对象的方法,方法名称的第一个字符可能是下划线。这是在方法名称中唯一可以接受的应用程序,并且不鼓励(因为它使公众可见度更加困难)。声明的“公共”方法不应包含下划线。

http://framework.zend.com/wiki/display/zfdev2/coding+standards

是的,为什么不应该?这样做是一个惯例。

这也是其他面向对象的语言中的约定。

查看这两个代码公约指南:

但是所有这些都应该是团队惯例,这可能是Zend的方式。我相信,当您编写代码时,这些代码约定应用于澄清和一致性。对我来说,私人会员的Zend使用前缀是一个很好的节省时间,尤其是当我对课程不太熟悉时。

我最近想知道这个问题,并在整个ZendFramework-2.1.4源树中进行了搜索,以获得确定的答案。下划线约定似乎不再用于变量。整个项目中甚至没有一个私人或受保护的变量声明,从单个下划线开始。以下三个文件中有少数变量以两个下划线开头,仅此而已。

ZendFramework-2.1.4libraryZendViewRendererPhpRenderer.php ZendFramework-2.1.4libraryZendViewRendererConsoleRenderer.php ZendFramework-2.1.4libraryZendStdlibAbstractOptions .php

这些文件中的至少一个包含以下评论:

注意:此类中的所有私人变量都带有“ __”。这是 *将它们标记为内部实施的一部分,从而防止冲突 *用注入渲染器中的变量。

关于方法,我能够找到三个使用“私有函数_”和89个使用“受保护函数_”的文件来声明方法。还有三个文件使用“私有静态函数_”和七个文件使用“受保护的静态函数_”。这些是项目声明总数的少数。

看来该约定在Zend框架2中死亡或死亡。

编辑:看起来ZF2 Codign标准的这两个部分清楚地说明了这一点。

http://framework.zend.com/wiki/display/zfdev2/coding+standards#codingstandards-variables http://framework.zend.com/wiki/display/zfdev2/coding+standards#codingstandards-functionsandmethods

变量

可变名称必须仅包含字母数字字符。不允许下划线。数字以变量名称允许,但在大多数情况下都会灰心。

对于用私有或受保护的可见性声明的变量,变量名称的第一个字符可能是单个下划线。这是在变量名称中唯一可以接受的应用程序,并且不鼓励(因为它使公众可见度更加困难)。

功能和方法

功能名称必须仅包含字母数字字符。不允许下划线。数字在功能名称中允许,但灰心。

功能名称必须始终以小写字母开头。当函数名称由多个单词组成时,每个新单词的第一个字母必须大写。这通常称为“骆驼”格式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top