Bug #49382 [Com]: can't access DateTime->date
[email protected] ("novell at att dot net")
| Newsgroups | php.bugs |
|---|---|
| Message-ID | <[email protected]> |
Edit report at https://bugs.php.net/bug.php?id=49382&edit=1
ID: 49382
Comment by: novell at att dot net
Reported by: klawd at kamundo dot de
Summary: can't access DateTime->date
Status: Assigned
Type: Bug
Package: Date/time related
Operating System: Debian GNU/Linux 5.0
PHP Version: 5.3.0
Assigned To: derick
Block user comment: N
Private report: N
New Comment:
This may be a duplicate comment - my system hiccuped and I'm not sure the first one was actually sent.
print_r also causes the date element of DateTime object to be available the "wrong" way.
http://stackoverflow.com/questions/34427627/very-interesting-behavior-of-a-datetime-object-and-access-to-its-elements-bi
Previous Comments:
------------------------------------------------------------------------
[2014-12-08 17:48:27] phpbug at sirdiego dot de
Okay, so I don't know if this is new or relevant in any case, but I found something similar to var_dump.
php > $object = new \DateTime();
php > echo $object->date . PHP_EOL;
PHP Notice: Undefined property: DateTime::$date in php shell code on line 1
PHP Stack trace:
PHP 1. {main}() php shell code:0
php > get_object_vars($object);
php > echo $object->date . PHP_EOL;
2014-12-08 18:44:15
For me this also an unexpected side-effect and would say it is a bug.
------------------------------------------------------------------------
[2013-07-09 11:35:13] weirdan at gmail dot com
I'd say the bug is not that the property is not present before var_dump'ing
object, but that the property is suddenly created. Unexpected side-effect.
------------------------------------------------------------------------
[2013-07-09 11:29:41] hanskrentel at yahoo dot de
I wonder how this qualifies as a bug as any object can have variable properties
and accessing undefined ones give notices.
Just sounds like standard PHP behavior here.
------------------------------------------------------------------------
[2012-12-29 17:56:02] info at metashock dot net
I think it is interesting that the property can be accessed using reflection. Using the following example I can access the property:
$dt = new DateTime();
$o = new ReflectionObject($dt);
$p = $o->getProperty('date');
$date = $p->getValue($dt)); // returns the value of DateTime::$date
------------------------------------------------------------------------
[2010-08-04 22:36:58] weirdan at gmail dot com
if this was not intended to work this way, why won't you just fix it so that no
properties are created as a result of print_r / Reflection::export() / foreach() /
property_exist / array cast?
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=49382
--
Edit this bug report at https://bugs.php.net/bug.php?id=49382&edit=1