Suponha que eu tenha um chamável estático como \Foo::bar
.
Posso atribuir isso a uma variável como esta e então chamá-la:
$myCallable = \Foo::class . '::bar';
// This works.
$myCallable('calling this works!');
Mas se eu atribuir isso a uma propriedade de classe estática como esta:
class MyClass {
function myFunc() {
static::$myCallable = \Foo::class . '::bar';
static::$myCallable('this does not work');
}
}
falha, porque tenta chamar MyClass::Foo::bar()
.
Existe alguma maneira de corrigir isso, além de usar call_user_func()
?