interface Foo { function a(Foo $foo); } interface Bar { function b(Bar $bar); } class FooBar implements Foo, Bar { function a(Foo $foo) { // ... } function b(Bar $bar) { // ... } } class Blort { } $a = new FooBar(); $b = new Blort(); $a->a($b); $a->b($b); ?> --EXPECTF-- Recoverable error: Argument 1 passed to FooBar::a() must implement interface Foo, instance of Blort given, called in %s on line 27, position %d and defined in %s on line 12, position %d
public function testBackupStaticProperty_priv_nochange() { $this->assertEquals(135, FooBar::getPrivStat()); }
} function pang() { return "FooBar2::pang();"; } } class FooBar3 extends Bar { function cheer() { return "FooBar3::cheer();"; } } $b = new Bar(); $f = $b->create(); $fb = new FooBar(); $fb2 = new FooBar2(); $fb3 = new FooBar3(); check::equal($fb->used(), "Foo::pang();Bar::pong();Foo::pong();FooBar::ping();", "bad FooBar::used"); check::equal($fb2->used(), "FooBar2::pang();Bar::pong();Foo::pong();FooBar2::ping();", "bad FooBar2::used"); check::equal($b->pong(), "Bar::pong();Foo::pong();Bar::ping();", "bad Bar::pong"); check::equal($f->pong(), "Bar::pong();Foo::pong();Bar::ping();", "bad Foo::pong"); check::equal($fb->pong(), "Bar::pong();Foo::pong();FooBar::ping();", "bad FooBar::pong"); $method = new ReflectionMethod('Bar', 'ping'); check::equal($method->isProtected(), true, "Foo::ping should be protected"); $method = new ReflectionMethod('Foo', 'ping'); check::equal($method->isProtected(), true, "Foo::ping should be protected"); $method = new ReflectionMethod('FooBar', 'pang'); check::equal($method->isProtected(), true, "FooBar::pang should be protected"); $method = new ReflectionMethod('Bar', 'cheer'); check::equal($method->isProtected(), true, "Bar::cheer should be protected");
/** * @package pkg1 */ function foo($foo = array()) { foreach ($foo as $bar) { FooBar::y($bar); } }
public static function testGetNodeMetricsReturnsExpectedCboWithStaticReference() { return FooBar::baz(); }
public function __construct() { FooBar::$_foo = 23; }
<? trait Singleton { protected static $_singleton_instance = null; public static function getInstance() { if ( ! self::$_singleton_instance ) { $class = get_called_class(); self::$_singleton_instance = new $class; } return self::$_singleton_instance; } } class FooBar { use Singleton; } $a = FooBar::getInstance(); $b = FooBar::getInstance(); var_dump($a === $b);
public function foo() { FooBar::bar(); $bar = 'foo'; $foo = true; }