2015-01-09 130 views
0

聲明是否需要聲明class atributtes?

class MyClass 
{ 

    public $someVar; 

    function __construct() 
    { 
    $this->someVar = 'some value'; 
    } 
} 

不聲明

class MyClass 
{ 
    function __construct() 
    { 
    $this->someVar = 'some value'; 
    } 
} 

兩個方面的工作,但我想知道,如果那裏有一個關於性能甚至模式差異。

+2

如果您未聲明類屬性,那麼您動態創建的任何新屬性將始終爲公共(您無法控制可見性) – 2015-01-09 20:00:18

+1

如果您未聲明類屬性,則它們不能由IDE暗示 – 2015-01-09 20:00:41

回答

0

是的。因爲當你在聲明類聲明的屬性你得淨優點:

  1. 尋找報關上其他開發人員可以找到他 可以使用哪些屬性(如果你不希望允許其他開發人員使用他們 - 聲明他們爲保護/私有見下文)
  2. 您可以手動設置 可視性標誌 - 最佳實踐設置在默認情況下,只有當需要(更好地利用geters/seters)
  3. 您和其他開發商有自動完成在 改變訪問級別私人IDE
+0

對,好點 – 2015-01-12 17:58:09

相關問題