// Пример callback-функции
function my_callback_function() {
echo 'hello world!';
}
// Пример callback-метода
class MyClass {
static function myCallbackMethod() {
echo 'Hello World!';
}
}
// Type 1: Простой callback
call_user_func('my_callback_function');
// Type 2: Вызов статического метода класса
call_user_func(array('MyClass', 'myCallbackMethod'));
// Type 3: Вызов метода класса
$obj = new MyClass();
call_user_func(array($obj, 'myCallbackMethod'));
// Type 4: Вызов статического метода класса (С PHP 5.2.3)
call_user_func('MyClass::myCallbackMethod');
// Type 5: Вызов относительного статического метода (С PHP 5.3.0)
class A {
public static function who() {
echo "An";
}
}
class B extends A {
public static function who() {
echo "Bn";
}
}
call_user_func(array('B', 'parent::who')); // A
// Type 6: Объекты реализующие __invoke могут быть использованы как
//callback (С PHP 5.3)
class C {
public function __invoke($name) {
echo 'Hello ', $name, "n";
}
}