我有一些奇怪的问题与DateTime()类。
每次我尝试这个:
$object = new DateTime();
var_dump($object->date);
var_dump()返回NULL,但是如果我这样做:
$object = new DateTime();
var_dump($object);
var_dump($object->date);
both var_dump()给了我正确的答案,我不知道为什么。有人看过这个吗?
这与PHP被迫创建一个完整的对象表示有关,当你转储整个对象时,恰好更新对象状态,而不是你只访问一个单独的属性。
更重要的一点是,你根本没有访问DateTime::$date
的任何业务。这是一个未记录的内部实现细节,您不应该在任何地方使用它。如果要输出日期,请使用DateTime::format
或其他公共接口方法之一。