php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /php-7.1.11/ext/reflection/tests/ |
files >> //php-7.1.11/ext/reflection/tests/bug38465.phpt |
--TEST-- Bug #38465 (ReflectionParameter fails on access to self::) --FILE-- <?php class Baz { const B = 3; } class Foo { const X = 1; public function x($a = self::X, $b = Baz::B, $c = 99) {} } class Bar extends Foo { const Y = 2; public function y($a = self::Y, $b = Baz::B, $c = 99) {} } echo "From global scope:\n"; $clazz = new ReflectionClass('Bar'); foreach ($clazz->getMethods() as $method) { foreach ($method->getParameters() as $param) { if ($param->isDefaultValueAvailable()) { echo $method->getDeclaringClass()->getName(), '::', $method->getName(), '($', $param->getName(), ' = ', $param->getDefaultValue(), ")\n"; } } } echo "\nFrom class context:\n"; class Test { function __construct() { $clazz = new ReflectionClass('Bar'); foreach ($clazz->getMethods() as $method) { foreach ($method->getParameters() as $param) { if ($param->isDefaultValueAvailable()) { echo $method->getDeclaringClass()->getName(), '::', $method->getName(), '($', $param->getName(), ' = ', $param->getDefaultValue(), ")\n"; } } } } } new Test(); ?> --EXPECT-- From global scope: Bar::y($a = 2) Bar::y($b = 3) Bar::y($c = 99) Foo::x($a = 1) Foo::x($b = 3) Foo::x($c = 99) From class context: Bar::y($a = 2) Bar::y($b = 3) Bar::y($c = 99) Foo::x($a = 1) Foo::x($b = 3) Foo::x($c = 99)y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`