У меня есть класс, который похож на этот полосатый вниз версия:Обратный вызов передается в переменных класса пустуют на var_dump
abstract class MainClass extends Thread{
protected $events = [];
public function on($message, callable $callback){
$this->events[$message] = $callback;
}
}
class MyClass extends MainClass{
// has some random methods
}
тогда я запускаю это, который создает экземпляр класса, он затем запускает функцию обратного вызова, которая запускает метод в переданном классе.
$myClass = new MyClass();
call_user_func_array("myCallback", array($myClass));
var_dump($myClass);
function myCallback($class){
$class->on("message", function(){
// Do some stuff
});
}
Когда я делаю var_dump на классе, MyClass::$var
массив пуст. Почему это?
Редактировать
Если я не продлевают Thread
класс, это работает. Почему класс Thread не позволяет мне изменять мои свойства?
Вы получаете какую-либо ошибку? – taxicala
@taxicala nope, no error –
После запуска моего примера он работает, но в реальном коде это не так. Я должен посмотреть, почему ... –