В какой-то момент у меня есть:
$callback = array(&$this, 'foo');
Как я могу узнать позже, если $callback метод foo?
$callback
if($callback == array(&$this, 'foo')) не делает 'кажется, работает
if($callback == array(&$this, 'foo'))
Обратные вызовы - это просто массивы, а имя метода - строка.Просто проверьте второй элемент массива:
if ($callback[1] == 'foo')
<?php class A { public function Test1() { $callback = array(&$this, 'foo'); var_dump($callback == array(&$this, 'foo')); } public function foo() { } } $a = new A(); $a->Test1(); ?>