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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.