Определить к какому классу относится callback

korpus

злой бобёр
У меня есть некий класс, который я хочу использовать только статически:
Код:
class myclass
{

    public static $staticVar;
    private function __construct()
    {
      //Класс можно использовать только статически
    }
    public static function staticMethod()
    {
        echo 'It is static method';
    }
}
И есть функция, которой я передаю callback
Код:
function do_my_callback($callback)
{
//Здесь нужна проверка, что callback относится к классу myclass. Как её сделать?
call_user_func($callback);
}
Каким образом внутри do_my_callback() можно проверить переменную $callback, что она является callback-ом и относится к классу myclass?
 
Последнее редактирование:

riff

Новичок
По-моему ты не верно используешь такие функции, собственно и эти функции ни к кому "не относятся".
Ты же говоришь про $my_fn = function() {...} ?

Если нужна информация о классе, то она должна быть сообщена отдельным параметром.

И ещё: call_user_func($callback);
Для вызова этих функций не нужна call_user_func
просто пишешь $callback('param1', ...)
 

korpus

злой бобёр
По-моему ты не верно используешь такие функции, собственно и эти функции ни к кому "не относятся".
Ты же говоришь про $my_fn = function() {...} ?
Нет, я говорю про что-то вроде array('class_name', 'method_name') для вызова метода method_name() класса class_name.
 

riff

Новичок
Вызывается так: do_my_callback('myclass::staticMethod'); ?
проверить переменную $callback, что она является callback-ом и относится к классу myclass
explode('::') + method_exists, не?
 
Последнее редактирование:

korpus

злой бобёр
Так это нужно для изучения функций. Как это применить для изучения callback-ов?
 

fixxxer

К.О.
Партнер клуба
колбэк можно передавать как ['ClassName', 'method'], тогда совсем просто ;)
 

fixxxer

К.О.
Партнер клуба
Всегда указывать полный путь с неймспейсом. В php 5.5+ для этого есть удобная запись ClassName::class
 
Сверху