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/007.phpt |
--TEST-- ReflectionClass::newInstance[Args] --FILE-- <?php function test($class) { echo "====>$class\n"; try { $ref = new ReflectionClass($class); } catch (ReflectionException $e) { var_dump($e->getMessage()); return; // only here } echo "====>newInstance()\n"; try { var_dump($ref->newInstance()); } catch (ReflectionException $e) { var_dump($e->getMessage()); } catch (Throwable $e) { echo "Exception: " . $e->getMessage() . "\n"; } echo "====>newInstance(25)\n"; try { var_dump($ref->newInstance(25)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } echo "====>newInstance(25, 42)\n"; try { var_dump($ref->newInstance(25, 42)); } catch (ReflectionException $e) { var_dump($e->getMessage()); } echo "\n"; } function __autoload($class) { echo __FUNCTION__ . "($class)\n"; } test('Class_does_not_exist'); Class NoCtor { } test('NoCtor'); Class WithCtor { function __construct() { echo __METHOD__ . "()\n"; var_dump(func_get_args()); } } test('WithCtor'); Class WithCtorWithArgs { function __construct($arg) { echo __METHOD__ . "($arg)\n"; var_dump(func_get_args()); } } test('WithCtorWithArgs'); ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- ====>Class_does_not_exist __autoload(Class_does_not_exist) string(41) "Class Class_does_not_exist does not exist" ====>NoCtor ====>newInstance() object(NoCtor)#%d (0) { } ====>newInstance(25) string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments" ====>newInstance(25, 42) string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments" ====>WithCtor ====>newInstance() WithCtor::__construct() array(0) { } object(WithCtor)#%d (0) { } ====>newInstance(25) WithCtor::__construct() array(1) { [0]=> int(25) } object(WithCtor)#%d (0) { } ====>newInstance(25, 42) WithCtor::__construct() array(2) { [0]=> int(25) [1]=> int(42) } object(WithCtor)#%d (0) { } ====>WithCtorWithArgs ====>newInstance() Exception: Too few arguments to function WithCtorWithArgs::__construct(), 0 passed and exactly 1 expected ====>newInstance(25) WithCtorWithArgs::__construct(25) array(1) { [0]=> int(25) } object(WithCtorWithArgs)#%d (0) { } ====>newInstance(25, 42) WithCtorWithArgs::__construct(25) array(2) { [0]=> int(25) [1]=> int(42) } object(WithCtorWithArgs)#%d (0) { } ===DONE===y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`