var_dump() 是否显示 class 属性?
does var_dump() shows class properties?
如果我对某些 class 使用 var_dump
,请说 DateTime
:
<?php
$date = new DateTime();
var_dump($date);
我得到了
/var/www/php/test/index.php:5:
object(DateTime)[1]
public 'date' => string '2021-02-16 23:23:10.768097' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Berlin' (length=13)
我认为有 3 个 public 属性。所以我尝试访问它们:
<?php
$date = new DateTime();
var_dump($date);
//example of accessing public $date; of class DateTime;
echo $date->date;
但是我得到了Undefined property: DateTime::$date in /var/www/php/test/index.php on line 7
那我应该怎么解读var_dump(some class)
?
var_dump()
同时显示 public 和私有属性。
对于 PHP 高达 7.3 date
是 public 属性 的 DateTime。
来自 PHP 7.4 date
是私人 属性,并试图访问它 returns 一条 Undefined property
消息。
请注意,DateTime 的 PHP 手册中未记录这些属性,因此您对它们所做的任何操作都可能会损坏,恕不另行通知。
如果我对某些 class 使用 var_dump
,请说 DateTime
:
<?php
$date = new DateTime();
var_dump($date);
我得到了
/var/www/php/test/index.php:5:
object(DateTime)[1]
public 'date' => string '2021-02-16 23:23:10.768097' (length=26)
public 'timezone_type' => int 3
public 'timezone' => string 'Europe/Berlin' (length=13)
我认为有 3 个 public 属性。所以我尝试访问它们:
<?php
$date = new DateTime();
var_dump($date);
//example of accessing public $date; of class DateTime;
echo $date->date;
但是我得到了Undefined property: DateTime::$date in /var/www/php/test/index.php on line 7
那我应该怎么解读var_dump(some class)
?
var_dump()
同时显示 public 和私有属性。
对于 PHP 高达 7.3 date
是 public 属性 的 DateTime。
来自 PHP 7.4 date
是私人 属性,并试图访问它 returns 一条 Undefined property
消息。
请注意,DateTime 的 PHP 手册中未记录这些属性,因此您对它们所做的任何操作都可能会损坏,恕不另行通知。