On Fri, Feb 27, 2015 at 9:20 AM, Leigh <lei...@gmail.com> wrote: > On 27 February 2015 at 08:06, Sebastian Bergmann <sebast...@php.net> > wrote: > > While working on PHPUnit today I noticed one test of its own test > > suite failing on PHP 5.6.6 that passes on PHP 5.6.5. The details of > > this can be found at > > > > https://github.com/sebastianbergmann/phpunit/issues/1630 > > > > Florian Margaine reduced the problem to the following minimal, > > self-contained, reproducing script: > > > > 1 <?php > > 2 class Foo extends Exception > > 3 { > > 4 public function __construct() > > 5 { > > 6 $this->code = 123; > > 7 } > > 8 } > > 9 > > 10 try > > 11 { > > 12 throw new Foo; > > 13 } > > 14 > > 15 catch (Exception $e) > > 16 { > > 17 assert($e->code === 123); > > 18 } > > > > The above script works as expected on PHP 5.6.5 but errors out on > > PHP 5.6.6: > > > > PHP Fatal error: Cannot access protected property Foo::$code in > > /home/sb/exception.php on line 17 > > PHP Stack trace: > > PHP 1. {main}() /home/sb/exception.php:0 > > > > I do not see a change in http://php.net/ChangeLog-5.php#5.6.6 that > would > > explain this. > > Looking through git blames, this property has been protected for a long > time. > > Possibly related (although not at all sure), Dmitry made some changes > to zend_read_property() > > > https://github.com/php/php-src/commit/3e31838d19750d287431d22e9290856ec962fd6a
Maybe Related to Reflection Accesibility? I suppose PHPUnit acceses the private state somehow. > > -- > PHP Internals - PHP Runtime Development Mailing List > To unsubscribe, visit: http://www.php.net/unsub.php > >