ID:               27265
 Comment by:       D dot Kingma at jool dot nl
 Reported By:      jw at jwscripts dot com
 Status:           Bogus
 Bug Type:         Zend Engine 2 problem
 Operating System: *
 PHP Version:      5CVS-2004-02-15
 New Comment:

I Think the problem your are describing is more that of that the
reflectionProperty class constructor doesn't work well with properties
that are written in capitals, as your example with static illustrates.
When you remove the static keyword the problem is reproducable (You
cannot initiate the reflectionProperty when the name of the property is
in capitals).
 
[Workaround]
You could use the getProperties method of the reflectionClass object
which will return the reflectionProperty object for variables that are
written in capitals.


Previous Comments:
------------------------------------------------------------------------

[2004-02-16 16:55:57] jw at jwscripts dot com

> We are missing a class 'Reflection_Const'.

IMO, you are not missing a Reflection_Const class, but a method
isConst() in the Reflection_Property class.

------------------------------------------------------------------------

[2004-02-16 15:04:18] [EMAIL PROTECTED]

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

We are missing a class \'Reflection_Const\'.

------------------------------------------------------------------------

[2004-02-15 15:00:46] jw at jwscripts dot com

Description:
------------
When passing a constant to the constructor of the Reflection_Property
class, an exception is thrown.

You can work around this, e.g., by creating an instance of the
Reflection_Object class instead, but this isn't very pretty.

The same problem occurres when a constant with one or more uppercased
characters is defined, e.g.:

const $TEST = "foo";

 

Reproduce code:
---------------
<?

class Foo {
        const TEST = "foo";
        // Fails too: static $TEST = "foo";
        // Success  : static $test = "foo";
}

class Types extends Reflection_Property {
        public function __construct($object, $name) {
                parent::__construct($object, $name);
        }
}

$types = new Types("Foo", "TEST");

?>

Expected result:
----------------
No output

Actual result:
--------------
Fatal error: Uncaught exception 'reflection_exception' with message
'Property Foo::$TEST does not exist' in [...] Stack trace: #0
[...](13): Types->__construct() #1 {main} thrown in [...] on line
[...]



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=27265&edit=1

Reply via email to