Annotation of embedaddon/php/ext/reflection/tests/ReflectionMethod_constructor_basic.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: ReflectionMethod::isConstructor()
3: --FILE--
4: <?php
5:
6: class NewCtor {
7: function __construct() {
8: echo "In " . __METHOD__ . "\n";
9: }
10:
11: }
12: echo "New-style constructor:\n";
13: $methodInfo = new ReflectionMethod("NewCtor::__construct");
14: var_dump($methodInfo->isConstructor());
15:
16: class ExtendsNewCtor extends NewCtor {
17: }
18: echo "\nInherited new-style constructor\n";
19: $methodInfo = new ReflectionMethod("ExtendsNewCtor::__construct");
20: var_dump($methodInfo->isConstructor());
21:
22: class OldCtor {
23: function OldCtor() {
24: echo "In " . __METHOD__ . "\n";
25: }
26: }
27: echo "\nOld-style constructor:\n";
28: $methodInfo = new ReflectionMethod("OldCtor::OldCtor");
29: var_dump($methodInfo->isConstructor());
30:
31: class ExtendsOldCtor extends OldCtor {
32: }
33: echo "\nInherited old-style constructor:\n";
34: $methodInfo = new ReflectionMethod("ExtendsOldCtor::OldCtor");
35: var_dump($methodInfo->isConstructor());
36:
37: class X {
38: function Y() {
39: echo "In " . __METHOD__ . "\n";
40: }
41: }
42: echo "\nNot a constructor:\n";
43: $methodInfo = new ReflectionMethod("X::Y");
44: var_dump($methodInfo->isConstructor());
45:
46: class Y extends X {
47: }
48: echo "\nInherited method of the same name as the class:\n";
49: $methodInfo = new ReflectionMethod("Y::Y");
50: var_dump($methodInfo->isConstructor());
51:
52: class OldAndNewCtor {
53: function OldAndNewCtor() {
54: echo "In " . __METHOD__ . "\n";
55: }
56:
57: function __construct() {
58: echo "In " . __METHOD__ . "\n";
59: }
60: }
61: echo "\nOld-style constructor:\n";
62: $methodInfo = new ReflectionMethod("OldAndNewCtor::OldAndNewCtor");
63: var_dump($methodInfo->isConstructor());
64:
65: echo "\nRedefined constructor:\n";
66: $methodInfo = new ReflectionMethod("OldAndNewCtor::__construct");
67: var_dump($methodInfo->isConstructor());
68:
69: class NewAndOldCtor {
70: function __construct() {
71: echo "In " . __METHOD__ . "\n";
72: }
73:
74: function NewAndOldCtor() {
75: echo "In " . __METHOD__ . "\n";
76: }
77: }
78: echo "\nNew-style constructor:\n";
79: $methodInfo = new ReflectionMethod("NewAndOldCtor::__construct");
80: var_dump($methodInfo->isConstructor());
81:
82: echo "\nRedefined old-style constructor:\n";
83: $methodInfo = new ReflectionMethod("NewAndOldCtor::NewAndOldCtor");
84: var_dump($methodInfo->isConstructor());
85:
86: ?>
87: --EXPECTF--
88: Strict Standards: Redefining already defined constructor for class OldAndNewCtor in %s on line %d
89: New-style constructor:
90: bool(true)
91:
92: Inherited new-style constructor
93: bool(true)
94:
95: Old-style constructor:
96: bool(true)
97:
98: Inherited old-style constructor:
99: bool(true)
100:
101: Not a constructor:
102: bool(false)
103:
104: Inherited method of the same name as the class:
105: bool(false)
106:
107: Old-style constructor:
108: bool(false)
109:
110: Redefined constructor:
111: bool(true)
112:
113: New-style constructor:
114: bool(true)
115:
116: Redefined old-style constructor:
117: bool(false)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>