可視性キーワードなしで定義された関数のコードをよく目にします。例えば:
class Foo() {
function bar() {
// ...
}
}
public
関数の省略形ですか?省略するのは良い習慣ですか?
class Foo() {
public function bar() {
//..
}
}
可視性キーワードなしで定義された関数のコードをよく目にします。例えば:
class Foo() {
function bar() {
// ...
}
}
public
関数の省略形ですか?省略するのは良い習慣ですか?
class Foo() {
public function bar() {
//..
}
}
はい、その通りです。可視性修飾子を省略すると、それはpublic
です。
これは、可視性演算子をサポートしていなかったPHP4からの引き継ぎです。この機能は、下位互換性のために含まれています。
あなたはここでそれについてもっと読むことができます。
PHP Docに書かれているように、
明示的なvisibilityキーワードなしで宣言されたメソッドは、publicとして定義されます。
だから、はい、
class Foo() { public function bar() { //.. } }
Foo::bar()
は公開されていますが、visibilityキーワードを省略することは決して良い習慣ではありません。高速で醜いスクリプトの場合はどうでしょうか。それ以外の場合は指定する必要があります。