bepcyc
Новичок
вызов метода объекта через call_user_func_array и изменение самого объекта
Проблема такая:
мне нужно вызывать методы объекта, которые могут менять состояние самого объекта
делать это необходимо не напрямую, а через некоторую функцию-обертку, потому как каждый раз при вызове метода нужно совершать некоторые действия
проблема в том, что я пытаюсь использовать call_user_func_array для этих целей и состояние объекта у меня не изменяется
пример:
результаты будут
0
1
как видно, если вернуть $this, то всё будет как надо (разумеется)
но сам $object не изменится
можно ли это обойти?
Проблема такая:
мне нужно вызывать методы объекта, которые могут менять состояние самого объекта
делать это необходимо не напрямую, а через некоторую функцию-обертку, потому как каждый раз при вызове метода нужно совершать некоторые действия
проблема в том, что я пытаюсь использовать call_user_func_array для этих целей и состояние объекта у меня не изменяется
пример:
PHP:
class Simple{
var $id = 0;
function foo()
{
$this->id++;
return $this->id;
}
function bar()
{
$this->foo();
return $this;
}
}
$object = new Simple;
$result = call_user_func_array(array($object, 'foo'), null);
echo $object->id."<br>";
$result = call_user_func_array(array($object, 'bar'), null);
echo $result->id."<br>";
0
1
как видно, если вернуть $this, то всё будет как надо (разумеется)
но сам $object не изменится
можно ли это обойти?

А что, нет возможности пятерку поставить?
.