簡體   English   中英

定義一個沒有可見性的類方法是“公共”的簡寫嗎?

[英]Is defining a class method without visibility a shorthand of 'public'?

我經常看到代碼是一個沒有可見性關鍵字的函數。 例如:

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

它是public職能的簡寫嗎? 省略它是一個好習慣嗎?

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

是的,你是對的; 當您省略可見性修飾符時,它意味着它是public

這是PHP 4的一個保留,它不支持可見性運算符。 包含此功能是為了向后兼容。

你可以在這里閱讀更多相關信息。

正如PHP Doc中所寫,

聲明沒有任何顯式可見性關鍵字的方法被定義為public。

所以,是的,在

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

Foo::bar()是公開的,但省略visibility關鍵字絕不是一個好習慣。 如果它是一個快速和丑陋的腳本,為什么不,但在其他情況下,你應該指定它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM