<?php
class A{
public function funcA($callback){
$callback();
}
}
class B extends A{
public function funcB(){
$f = function(){
echo 'Анонимная функция!';
};
//хочу передать функцию $f коллбеком - работает
//$this->funcA($f);
function foo(){
echo 'Обычная функция!';
}
$t = 'foo';
//тоже работает
$this->funcA($t);
}
}
$obj = new B;
$obj->funcB();
PD9waHAKCmNsYXNzIEF7CgkKCQoJcHVibGljIGZ1bmN0aW9uIGZ1bmNBKCRjYWxsYmFjayl7CgkJJGNhbGxiYWNrKCk7Cgl9CgkKfSAKCgpjbGFzcyBCIGV4dGVuZHMgQXsKCQoJcHVibGljIGZ1bmN0aW9uIGZ1bmNCKCl7CgkJCgkJJGYgPSBmdW5jdGlvbigpewoJCQllY2hvICfQkNC90L7QvdC40LzQvdCw0Y8g0YTRg9C90LrRhtC40Y8hJzsKCQl9OwoJCQoJCS8v0YXQvtGH0YMg0L/QtdGA0LXQtNCw0YLRjCDRhNGD0L3QutGG0LjRjiAkZiDQutC+0LvQu9Cx0LXQutC+0LwgLSDRgNCw0LHQvtGC0LDQtdGCCgkJLy8kdGhpcy0+ZnVuY0EoJGYpOwoJCQoJCWZ1bmN0aW9uIGZvbygpewoJCQllY2hvICfQntCx0YvRh9C90LDRjyDRhNGD0L3QutGG0LjRjyEnOwoJCX0KCQkKCQkkdCA9ICdmb28nOwoJCS8v0YLQvtC20LUg0YDQsNCx0L7RgtCw0LXRggoJCSR0aGlzLT5mdW5jQSgkdCk7CgkJCgl9Cn0KCiRvYmogPSBuZXcgQjsKCgokb2JqLT5mdW5jQigpOwo=