2 回答
TA贡献1880条经验 获得超4个赞
这与异常无关,它只是如何显示对象的私有var_dump()和print_r()受保护属性。
私有属性总是显示在类的名称之前,:private 它告诉您继承层次结构中的哪个类可以访问该属性。
受保护的属性不需要这样做,因为层次结构中的任何类都可以访问它们。
class Class1 {
private $private1;
protected $protected1;
public $public1;
}
class Class2 extends Class1 {
private $private2;
protected $protected2;
public $public2;
}
print_r(new Class2);
显示
Class2 Object
(
[private2:Class2:private] =>
[protected2:protected] =>
[public2] =>
[private1:Class1:private] =>
[protected1:protected] =>
[public1] =>
)
手册中没有提到私有属性,因为它们不是公共接口的一部分,它们仅供类内部使用。这就是为什么它们被宣布为私有的。
受保护的属性已记录在案,因为如果您定义Exception.
TA贡献1804条经验 获得超8个赞
string:Exception:private
. 表示具有可见string
性的Exception
类属性。private
与previous
和相同trace
。这三个属性仅在Exception
类中可用。正如您所注意到的,protected
属性之间没有类,因为它可以传递给子类。这句话也适用于public
属性。
- 2 回答
- 0 关注
- 111 浏览
添加回答
举报