Правильный тип подсказки - callable
, который долгое время был доступен, например, в PhpStorm, и является частью PSR-5 , которая в настоящее время соответствует спецификации.
(Я удивлен, что никто больше не упомянул callable
, в этом нет ничего нового, и он использовался повсеместно в течение многих лет - насколько мне известно, callback
не является и никогда не был определенным PHP псевдотипа ) * +1010 *
Обратите внимание, что callable
включает не только замыкания, но и обратные вызовы PHP "старой школы", например, array($object, 'methodName')
или array('ClassName', 'methodName')
и даже 'function_name'
- чтобы максимизировать полезность вашего API, вы должны охватить все эти варианты использования, что довольно просто, так как оба call_user_func и call_user_func_array поддерживает все четыре разновидности вызываемых объектов: имя функции в виде строки, имя объекта / метода, имя класса / метода и замыкание.