我经常看到代码定义没有可见性关键字的函数。 例如:
class Foo() {
function bar() {
// ...
}
}
它是public
功能的简写吗?省略它是一种好习惯吗?
class Foo() {
public function bar() {
//..
}
}
是的,你是对的; 当您省略可见性修饰符时,这意味着它是public
。
它是 PHP 4 的延续,不支持可见性运算符。 包含此功能是为了向后兼容。
您可以在此处阅读有关它的更多信息。
正如 PHP 文档中所写,
声明没有任何显式可见性关键字的方法定义为公共。
所以,是的,在
class Foo() { public function bar() { //.. } }
Foo::bar()
是公开的,但省略可见性关键字从来都不是一个好的做法。如果它是一个快速而丑陋的脚本,为什么不呢,但在其他情况下,您应该指定它。