是否有任何理由使用" public"方法和成员变量名称之前的关键字?

时间:2014-06-13 19:33:12

标签: php

我已经在PHP中默认公开了方法和成员变量是公共的,但我看到的许多代码示例都在前面有public个关键字。例如:

class SomeClass {
    public $data;

    public function someFunction() {

    }
}

有没有理由在PHP中的方法和成员变量名之前使用public关键字,或者是否是某些人这样做的唯一原因?

3 个答案:

答案 0 :(得分:4)

指定" public"之间没有功能差异。并不是。代码没有任何好处,也没有因此而有任何降级。

请记住,您的代码是为两个实体编写的:编译器,以及必须维护代码的人。这种清晰度是巨大的。

答案 1 :(得分:4)

  

有没有理由在方法之前使用public关键字   PHP中的成员变量名称,或者是明确的一些原因   人们这样做?

原因很清楚。

人类正在编写这些东西。人类需要阅读这些东西。如果一个人无法快速破译正在发生的事情,那么缺乏清晰度会导致更多问题。

这也是我们缩进和缩小的部分原因。正确格式化代码。只要语法正确,语言解释器就会占用任何代码。其他任何东西 - 包括评论 - 放在那里,所以我们在键盘前面的肉块实际上可以让你对正在发生的事情有所了解。

使用您的伪代码示例:

class SomeClass {
    public $data;

    public function someFunction() {

    }
}

看看它是多么容易阅读并理解它是如何工作的!相比之下,看看这个:

class cName { $d; function fName() {} }

从技术上讲,这两段代码应该是一样的。但是什么是$d?什么是cName?什么是fName?代码可以在两种情况下都有效,但是谁愿意花时间解开第二个例子。我的意思是,它有效,对吗?

清晰度是良好编码的真正关键。发展。这个世界编程&计算机工作是不可见的 - 有时甚至是钝的。没有理由通过忽略人类 - 而不是机器 - 创建代码的事实来模糊某些东西是如何工作的。

答案 2 :(得分:2)

我个人认为最好是明确的。没有歧义。我还认为所有成员变量应该是受保护的或私有的,具有适当的getter / setter。

它还有助于记录您的代码 - 例如DOxygen