Я хочу иметь возможность передать класс (не объект класса) в функцию PHP. Желаемым конечным результатом всего этого является возможность вызова функций stati c, присутствующих в этом классе. Возьмем, к примеру:
class MyClass extends Model
{
public static function doThing()
{
return static::callOtherClassFunction();
}
}
Теперь у меня есть функция, структурированная так:
function do_thing_with_any_class($class)
{
return $class::doThing();
}
Но, если я вызываю do_thing_with_any_class(MyClass::class)
, я получаю синтаксическую ошибку.
Возможно ли то, что я хочу сделать в PHP идиоматически? (т.е. без использования Reflection для получения функции stati c).
PS: Это помечено как 'Laravel', потому что MyClass представляет мою 'Базовую модель' - класс, который наследуется непосредственно от класса Laravel Model. Но вопрос определенно более общий, чем этот.