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

 ID:               52250
 Updated by:       fel...@php.net
 Reported by:      nikita at rusoft dot ru
 Summary:          ReflectionParameter::getDefaultValue for array with
                   consts
-Status:           Assigned
+Status:           Bogus
 Type:             Bug
 Package:          Reflection related
 Operating System: linux
 PHP Version:      5.2.13
-Assigned To:      johannes
+Assigned To:      

 New Comment:

Hello, this bug was already fixed in SVN. See bug #51905

For your information the fix was included in the PHP 5.2.14RC1.



Thanks.


Previous Comments:
------------------------------------------------------------------------
[2010-07-05 10:52:32] nikita at rusoft dot ru

Description:
------------
If I used ReflectionParameter for method parametr that include default
value with 

array, I couldn't get its defaultValue.



Fatal error is throws:

"PHP Fatal error:  Undefined class constant 'self::CONST_NAME' in
/path/file.php 

on line NNN".



See test script.



Tested on php 5.2.13, php 5.3.2.

Test script:
---------------
<?php

class A {

    const B = 'BB';

    const C = 'CC';



    public function some(array $param = array(self::B, self::C))

    {

        var_export($param);

    }

}



$refClass = new ReflectionClass('A');

$refMethods = $refClass->getMethod('some')->getParameters();



$refMethod = array_pop($refMethods);

if ($refMethod->isDefaultValueAvailable()) {

    var_export($refMethod->getDefaultValue()); //Fatal error

}

Expected result:
----------------
array (

  0 => 'BB',

  1 => 'CC',

)

Actual result:
--------------
PHP Fatal error:  Cannot access self:: when no class scope is active in
test.php 

on line 15


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



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

Reply via email to