2015-01-09 139 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

相关问题