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/closures_001.phpt |
--TEST-- Reflection on closures --FILE-- <?php $closure = function($a, $b = 0) { }; $ro = new ReflectionObject($closure); $rm = $ro->getMethod('__invoke'); var_dump($rm->getNumberOfParameters()); var_dump($rm->getNumberOfRequiredParameters()); $rms = $ro->getMethods(); foreach($rms as $rm) { if ($rm->getName() == '__invoke') { var_dump($rm->getNumberOfParameters()); var_dump($rm->getNumberOfRequiredParameters()); } } echo "---\n"; $rm = new ReflectionMethod($closure, '__invoke'); var_dump($rm->getName()); var_dump($rm->getNumberOfParameters()); var_dump($rm->getNumberOfRequiredParameters()); echo "---\n"; $rp = new ReflectionParameter(array($closure, '__invoke'), 0); var_dump($rp->isOptional()); $rp = new ReflectionParameter(array($closure, '__invoke'), 1); var_dump($rp->isOptional()); $rp = new ReflectionParameter(array($closure, '__invoke'), 'a'); var_dump($rp->isOptional()); $rp = new ReflectionParameter(array($closure, '__invoke'), 'b'); var_dump($rp->isOptional()); echo "---\n"; $rp = new ReflectionParameter($closure, 0); var_dump($rp->isOptional()); $rp = new ReflectionParameter($closure, 1); var_dump($rp->isOptional()); $rp = new ReflectionParameter($closure, 'a'); var_dump($rp->isOptional()); $rp = new ReflectionParameter($closure, 'b'); var_dump($rp->isOptional()); ?> ===DONE=== --EXPECTF-- int(2) int(1) int(2) int(1) --- string(8) "__invoke" int(2) int(1) --- bool(false) bool(true) bool(false) bool(true) --- bool(false) bool(true) bool(false) bool(true) ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`