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 關注
- 163 瀏覽
添加回答
舉報