是否需要声明 class 属性?
Is needed declare class atributtes?
声明中
class MyClass
{
public $someVar;
function __construct()
{
$this->someVar = 'some value';
}
}
不申报
class MyClass
{
function __construct()
{
$this->someVar = 'some value';
}
}
这两种方式都有效,但我想知道性能甚至模式是否存在差异。
是的。因为当您在 class 声明中声明属性时,您获得了净收益:
- 查看其他开发人员可以找到他的属性的声明
可以使用 ( 如果您不想让其他开发人员使用它们 -
将它们声明为受保护/私有的,见下文)
- 你可以设置
手动可见性标志 - 最佳实践默认设置为私有并且
仅在需要时更改访问级别(更好地使用 geters/seters)
- 您和其他开发者在 IDE
中获得了自动完成功能
声明中
class MyClass
{
public $someVar;
function __construct()
{
$this->someVar = 'some value';
}
}
不申报
class MyClass
{
function __construct()
{
$this->someVar = 'some value';
}
}
这两种方式都有效,但我想知道性能甚至模式是否存在差异。
是的。因为当您在 class 声明中声明属性时,您获得了净收益:
- 查看其他开发人员可以找到他的属性的声明 可以使用 ( 如果您不想让其他开发人员使用它们 - 将它们声明为受保护/私有的,见下文)
- 你可以设置 手动可见性标志 - 最佳实践默认设置为私有并且 仅在需要时更改访问级别(更好地使用 geters/seters)
- 您和其他开发者在 IDE 中获得了自动完成功能