Annotation of embedaddon/php/ext/reflection/tests/007.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: ReflectionClass::newInstance[Args]
! 3: --FILE--
! 4: <?php
! 5:
! 6: function test($class)
! 7: {
! 8: echo "====>$class\n";
! 9: try
! 10: {
! 11: $ref = new ReflectionClass($class);
! 12: }
! 13: catch (ReflectionException $e)
! 14: {
! 15: var_dump($e->getMessage());
! 16: return; // only here
! 17: }
! 18:
! 19: echo "====>newInstance()\n";
! 20: try
! 21: {
! 22: var_dump($ref->newInstance());
! 23: }
! 24: catch (ReflectionException $e)
! 25: {
! 26: var_dump($e->getMessage());
! 27: }
! 28:
! 29: echo "====>newInstance(25)\n";
! 30: try
! 31: {
! 32: var_dump($ref->newInstance(25));
! 33: }
! 34: catch (ReflectionException $e)
! 35: {
! 36: var_dump($e->getMessage());
! 37: }
! 38:
! 39: echo "====>newInstance(25, 42)\n";
! 40: try
! 41: {
! 42: var_dump($ref->newInstance(25, 42));
! 43: }
! 44: catch (ReflectionException $e)
! 45: {
! 46: var_dump($e->getMessage());
! 47: }
! 48:
! 49: echo "\n";
! 50: }
! 51:
! 52: function __autoload($class)
! 53: {
! 54: echo __FUNCTION__ . "($class)\n";
! 55: }
! 56:
! 57: test('Class_does_not_exist');
! 58:
! 59: Class NoCtor
! 60: {
! 61: }
! 62:
! 63: test('NoCtor');
! 64:
! 65: Class WithCtor
! 66: {
! 67: function __construct()
! 68: {
! 69: echo __METHOD__ . "()\n";
! 70: var_dump(func_get_args());
! 71: }
! 72: }
! 73:
! 74: test('WithCtor');
! 75:
! 76: Class WithCtorWithArgs
! 77: {
! 78: function __construct($arg)
! 79: {
! 80: echo __METHOD__ . "($arg)\n";
! 81: var_dump(func_get_args());
! 82: }
! 83: }
! 84:
! 85: test('WithCtorWithArgs');
! 86:
! 87: ?>
! 88: ===DONE===
! 89: <?php exit(0); ?>
! 90: --EXPECTF--
! 91:
! 92: ====>Class_does_not_exist
! 93: __autoload(Class_does_not_exist)
! 94: string(41) "Class Class_does_not_exist does not exist"
! 95: ====>NoCtor
! 96: ====>newInstance()
! 97: object(NoCtor)#%d (0) {
! 98: }
! 99: ====>newInstance(25)
! 100: string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments"
! 101: ====>newInstance(25, 42)
! 102: string(86) "Class NoCtor does not have a constructor, so you cannot pass any constructor arguments"
! 103:
! 104: ====>WithCtor
! 105: ====>newInstance()
! 106: WithCtor::__construct()
! 107: array(0) {
! 108: }
! 109: object(WithCtor)#%d (0) {
! 110: }
! 111: ====>newInstance(25)
! 112: WithCtor::__construct()
! 113: array(1) {
! 114: [0]=>
! 115: int(25)
! 116: }
! 117: object(WithCtor)#%d (0) {
! 118: }
! 119: ====>newInstance(25, 42)
! 120: WithCtor::__construct()
! 121: array(2) {
! 122: [0]=>
! 123: int(25)
! 124: [1]=>
! 125: int(42)
! 126: }
! 127: object(WithCtor)#%d (0) {
! 128: }
! 129:
! 130: ====>WithCtorWithArgs
! 131: ====>newInstance()
! 132:
! 133: Warning: Missing argument 1 for WithCtorWithArgs::__construct() in %s007.php on line %d
! 134:
! 135: Notice: Undefined variable: arg in %s007.php on line %d
! 136: WithCtorWithArgs::__construct()
! 137: array(0) {
! 138: }
! 139: object(WithCtorWithArgs)#%d (0) {
! 140: }
! 141: ====>newInstance(25)
! 142: WithCtorWithArgs::__construct(25)
! 143: array(1) {
! 144: [0]=>
! 145: int(25)
! 146: }
! 147: object(WithCtorWithArgs)#%d (0) {
! 148: }
! 149: ====>newInstance(25, 42)
! 150: WithCtorWithArgs::__construct(25)
! 151: array(2) {
! 152: [0]=>
! 153: int(25)
! 154: [1]=>
! 155: int(42)
! 156: }
! 157: object(WithCtorWithArgs)#%d (0) {
! 158: }
! 159:
! 160: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>