Annotation of embedaddon/php/Zend/tests/objects_022.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Testing 'self', 'parent' as type-hint
3: --FILE--
4: <?php
5:
6: interface iTest { }
7:
8: class baz implements iTest {}
9:
10: class bar { }
11:
12: class foo extends bar {
13: public function testFoo(self $obj) {
14: var_dump($obj);
15: }
16: public function testBar(parent $obj) {
17: var_dump($obj);
18: }
19: public function testBaz(iTest $obj) {
20: var_dump($obj);
21: }
22: }
23:
24: $foo = new foo;
25: $foo->testFoo(new foo);
26: $foo->testBar(new bar);
27: $foo->testBaz(new baz);
28: $foo->testFoo(new stdClass); // Catchable fatal error
29:
30: ?>
31: --EXPECTF--
32: object(foo)#%d (0) {
33: }
34: object(bar)#%d (0) {
35: }
36: object(baz)#%d (0) {
37: }
38:
39: Catchable fatal error: Argument 1 passed to foo::testFoo() must be an instance of foo, instance of stdClass given, called in %s on line %d and defined in %s on line %d
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>