- assert: documentation ( source)
<?php
class Foo {
static function bar() {
$foo = static function() {
return get_called_class();
};
return $foo();
}
static function baz() {
$foo = function() {
return get_called_class();
};
return $foo();
}
static function rebind() {
$foo = function() {
return get_called_class();
};
return $foo->bindTo(self);
}
}
class Bar extends Foo {
}
print Bar::bar() . Bar::baz() . Bar::rebind();
assert(Bar::bar() === 'Bar');
assert(Bar::baz() === 'Bar');