Edit report at https://bugs.php.net/bug.php?id=61602&edit=1
ID: 61602 Updated by: der...@php.net Reported by: sebast...@php.net Summary: Allow access to name of constant used as default value Status: Open Type: Feature/Change Request Package: Reflection related Operating System: Irrelevant PHP Version: 5.4Git-2012-04-02 (Git) Block user comment: N Private report: N New Comment: It's definitely possible, I've just added something like this to VLD: https://github.com/derickr/vld/commit/f22862bfa8620780906f0e692f929a543264b5f8 Previous Comments: ------------------------------------------------------------------------ [2012-04-02 14:14:16] sebast...@php.net Description: ------------ When a constant is used for the default value of an optional parameter, the Reflection API (tries to) resolve(s) the constant to its value and then returns it as the default value. In addition, I would like to have two additional methods in ReflectionParameter that expose 1) whether or not a default value "is a" constant and 2) the name of the constant. In the example below, I am using temporary names ("defaultValueIsConstant" and "getDefaultValueConstantName") for these two methods because I cannot think of sensible method names right now. Test script: --------------- <?php class Foo { const bar = '...'; public function baz($bar = self::bar) { } } $m = new ReflectionMethod('Foo', 'baz'); $p = $m->getParameters(); foreach ($p as $_p) { var_dump($_p->getDefaultValue()); if ($_p->defaultValueIsConstant()) { var_dump($_p->getDefaultValueConstantName()); } } Expected result: ---------------- string(3) "..." string(9) "self::bar" Actual result: -------------- string(3) "..." ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61602&edit=1