1--TEST-- 2ZE2 class type hinting 3--SKIPIF-- 4<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?> 5--FILE-- 6<?php 7 8interface Foo { 9 function a(Foo $foo); 10} 11 12interface Bar { 13 function b(Bar $bar); 14} 15 16class FooBar implements Foo, Bar { 17 function a(Foo $foo) { 18 // ... 19 } 20 21 function b(Bar $bar) { 22 // ... 23 } 24} 25 26class Blort { 27} 28 29$a = new FooBar; 30$b = new Blort; 31 32$a->a($b); 33$a->b($b); 34 35?> 36--EXPECTF-- 37 38Catchable fatal error: Argument 1 passed to FooBar::a() must implement interface Foo, instance of Blort given, called in %s on line 27 and defined in %s on line 12 39