Я пытаюсь использовать метод экземпляра в качестве обратного вызова для PHP 5.2.1. Я знаю, что с PHP 5.4 вы можете использовать $this
внутри закрытия, а в PHP 5.3 вы можете переименовать $this
в $self
и передать это закрытию. Тем не менее, ни один из этих методов не будет достаточным, поскольку мне нужно, чтобы это работало для PHP 5.2.1. Две последние строки были моей последней попыткой. Это приводит к Fatal error: Call to a member function hello() on a non-object
- есть ли в любом случае, я могу иметь обратный вызов метода экземпляра в PHP 5.2.1?
<?php
class Test {
public function __construct() {
$self = &$this;
$cb = function() use ($self) {
$self->hello();
};
call_user_func($cb);
// $cb = create_function('$self', '$self->hello();');
// call_user_func($cb);
}
public function hello() {
echo "Hello, World!\n";
}
}
$t = new Test();
Ahhhh, perfect! – v0idless
Рад я мог бы помочь :-) –