我读到,方法和成员变量在 PHP 中默认是公共的,但我看到的许多代码示例前面都有
public
关键字。例如:
class SomeClass {
public $data;
public function someFunction() {
}
}
是否有任何理由在 PHP 中的方法和成员变量名称之前使用
public
关键字,或者清晰是某些人这样做的唯一原因?
是否有任何理由在方法和方法之前使用
关键字 PHP 中的成员变量名称,或者是清晰度某些的唯一原因 人们这样做吗?public
原因是清晰。
人类正在编写这些东西。人类需要阅读这些东西。如果人类无法快速解读正在发生的事情,缺乏清晰度可能会导致更多问题。
这也是我们缩进并正确格式化代码的部分原因。只要语法正确,语言解释器就会吃掉任何代码。其他任何内容(包括评论)都放置在那里,这样我们键盘前的肉实际上可以理解正在发生的事情。
使用您的伪代码示例:
class SomeClass {
public $data;
public function someFunction() {
}
}
看看它是多么容易阅读并理解它是如何工作的!相比之下,看看这个:
class cName { $d; function fName() {} }
从技术上讲,这两段代码应该工作相同。但
$d
是什么?什么是cName
?什么是fName
?该代码在这两种情况下都可以工作,但是谁愿意花时间来解开第二个示例。我的意思是,它有效,对吗?
清晰是良好编码和开发的真正关键。这个世界的编程和计算机工作是看不见的——有时甚至是足够迟钝的。没有理由通过忽略人类(而不是机器)创建代码的事实来掩盖某些东西是如何工作的。
指定“public”与不指定“public”之间没有功能上的区别。 该代码没有任何好处,也不会因此而产生任何退化。
请记住,您的代码是为两个实体编写的:编译器和必须维护代码的人员。 这种清晰度是巨大的。
我个人的看法是,还是说清楚比较好。没有歧义。我还认为所有成员变量都应该使用适当的 getter/setter 进行保护或私有。
它还有助于编写代码文档 - 例如 DOxygen