Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否有任何理由使用;“公众”;方法和成员变量名之前的关键字?_Php - Fatal编程技术网

Php 是否有任何理由使用;“公众”;方法和成员变量名之前的关键字?

Php 是否有任何理由使用;“公众”;方法和成员变量名之前的关键字?,php,Php,我读过PHP中默认情况下方法和成员变量是公共的,但是我看到的许多代码示例前面都有public关键字。例如: class SomeClass { public $data; public function someFunction() { } } 在PHP中,在方法和成员变量名之前使用public关键字有什么原因吗?或者,清晰性是一些人这样做的唯一原因吗?指定“public”和不指定“public”之间没有功能上的区别。这对代码没有任何好处,也不会因此而导致任何降级

我读过PHP中默认情况下方法和成员变量是公共的,但是我看到的许多代码示例前面都有
public
关键字。例如:

class SomeClass {
    public $data;

    public function someFunction() {

    }
}

在PHP中,在方法和成员变量名之前使用
public
关键字有什么原因吗?或者,清晰性是一些人这样做的唯一原因吗?

指定“public”和不指定“public”之间没有功能上的区别。这对代码没有任何好处,也不会因此而导致任何降级


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

指定“public”和“not”在功能上没有区别。这对代码没有任何好处,也不会因此而导致任何降级


请记住,您的代码是为两个实体编写的:编译器和维护代码的人员。这种清晰性是巨大的。

我个人的观点是,最好是明确。没有歧义。我还认为所有成员变量都应该使用适当的getter/setter进行保护或私有


它也有助于代码的文档化,比如DOxygen,我个人的观点是最好是明确的。没有歧义。我还认为所有成员变量都应该使用适当的getter/setter进行保护或私有

它还可以帮助编写代码文档,例如DOxygen

是否有任何理由在方法和之前使用
public
关键字 PHP中的成员变量名,或者说清晰是唯一的原因 人们会这么做吗

原因是清晰

人类正在编码这些东西。人类需要阅读这些东西。如果一个人不能很快地理解正在发生的事情,缺乏清晰性可能会导致更多的问题

这也是我们缩进并正确格式化代码的部分原因。只要语法正确,语言解释器就会吃光所有代码。其他任何东西,包括评论都放在那里,这样我们在键盘前的一块肉就可以真正了解正在发生的事情

使用伪代码示例:

class SomeClass {
    public $data;

    public function someFunction() {

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

class cName { $d; function fName() {} }
从技术上讲,这两段代码应该工作相同。但是什么是
$d
?什么是
cName
?什么是
fName
?代码在这两种情况下都可以工作,但是谁愿意花时间来解开第二个例子呢。我是说,这很有效,对吗

清晰是良好编码和开发的真正关键。这个世界上的编程和计算机工作是看不见的,有时也够迟钝的。没有理由通过忽略人类而不是机器创建代码这一事实来模糊某些东西是如何工作的

是否有任何理由在方法和之前使用
public
关键字 PHP中的成员变量名,或者说清晰是唯一的原因 人们会这么做吗

原因是清晰

人类正在编码这些东西。人类需要阅读这些东西。如果一个人不能很快地理解正在发生的事情,缺乏清晰性可能会导致更多的问题

这也是我们缩进并正确格式化代码的部分原因。只要语法正确,语言解释器就会吃光所有代码。其他任何东西,包括评论都放在那里,这样我们在键盘前的一块肉就可以真正了解正在发生的事情

使用伪代码示例:

class SomeClass {
    public $data;

    public function someFunction() {

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

class cName { $d; function fName() {} }
从技术上讲,这两段代码应该工作相同。但是什么是
$d
?什么是
cName
?什么是
fName
?代码在这两种情况下都可以工作,但是谁愿意花时间来解开第二个例子呢。我是说,这很有效,对吗


清晰是良好编码和开发的真正关键。这个世界上的编程和计算机工作是看不见的,有时也够迟钝的。没有理由通过忽略人类而不是机器创建代码这一事实来模糊某些东西是如何工作的

清晰性的重要性永远不应被低估,以防它们在未来的版本中更改默认值…相关:如果您尝试可见性,则必须在所有属性和方法上声明;抽象和最终必须在可见性之前声明;静态必须在可见性之后声明。透明度的重要性决不能低估,以防它们在将来的版本中更改默认值…相关:如果您试图在所有属性和方法上声明可见性;抽象和最终必须在可见性之前声明;必须在可见性之后声明static。