6

可視性キーワードなしで定義された関数のコードをよく目にします。例えば:

class Foo() {
  function bar() {
    // ...
  }
}

public関数の省略形ですか?省略するのは良い習慣ですか?

class Foo() {
  public function bar() {
    //..
  }
}
4

2 に答える 2

9

はい、その通りです。可視性修飾子を省略すると、それはpublicです。

これは、可視性演算子をサポートしていなかったPHP4からの引き継ぎです。この機能は、下位互換性のために含まれています。

あなたはここでそれについてもっと読むことができます。

于 2012-06-11T21:10:39.297 に答える
2

PHP Docに書かれているように、

明示的なvisibilityキーワードなしで宣言されたメソッドは、publicとして定義されます。

だから、はい、

class Foo() { public function bar() { //.. } }

Foo::bar()は公開されていますが、visibilityキーワードを省略することは決して良い習慣ではありません。高速で醜いスクリプトの場合はどうでしょうか。それ以外の場合は指定する必要があります。

于 2012-06-11T21:03:38.860 に答える