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

 ID:                 62715
 Updated by:         paj...@php.net
 Reported by:        benjamin dot morel at strictcoding dot co dot uk
 Summary:            ReflectionParameter::isDefaultValueAvailable() wrong
                     result
-Status:             Closed
+Status:             Assigned
 Type:               Bug
 Package:            Reflection related
 Operating System:   CentOS 6.3, Windows 7
 PHP Version:        5.4.5
-Assigned To:        laruence
+Assigned To:        johannes
 Block user comment: N
 Private report:     N

 New Comment:

Johannes, please see: http://news.php.net/php.internals/62421


Previous Comments:
------------------------------------------------------------------------
[2012-08-23 14:25:34] larue...@php.net

the getdefaultvalue fix is : 170ee90bf962d288bdcf6cf0c8c4a2a30c5c1ba2

------------------------------------------------------------------------
[2012-08-23 09:11:04] phpnet at bastian-frank dot de

It seems that 5.3.16 fixes the bug in isDefaultValueAvailable() but does NOT 
fix 
getDefaultValue, so the situation in 5.3.16 is even worse than before.

This breaks Twig and Doctrine in current versions, so 5.3.16 is not useable for 
Symfony 2 at the moment.

Is there a chance to get a new 5.3 release soon?

------------------------------------------------------------------------
[2012-08-02 22:53:09] benjamin dot morel at strictcoding dot co dot uk

I can now confirm this works as expected. Thanks for your time!

------------------------------------------------------------------------
[2012-08-02 14:26:09] larue...@php.net

Hi, fixed :)

------------------------------------------------------------------------
[2012-08-02 10:19:20] benjamin dot morel at strictcoding dot co dot uk

Thanks for the quick fix, isDefaultValueAvailable() works indeed, but 
getDefaultValue() still throws an exception:

<?php
function test(PDO $a = null, $b = 0, array $c) {}
$r = new ReflectionFunction('test');

foreach ($r->getParameters() as $p) {
    if ($p->isDefaultValueAvailable()) {
        var_export($p->getDefaultValue());
    }
}

Fatal error: Uncaught exception 'ReflectionException' with message 'Parameter 
is 
not optional'

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


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=62715


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

Reply via email to