call_user_func с объектами

virakochi

Устал
call_user_func с объектами

Столкнулся с не совсем понятной ситуацией.

Есть два класса:
PHP:
class Parent
{
     var $child;
     var $param;
    function Parent(&$child)
    {
          $this->child = &$child;
    }

     function run()
     {
          $result = call_user_func(array($this->child, 'funcName'), $list);
     }
      
      function setParam($value)
      {
           $this->param = $value;
      }
}

class Child extends Parent
{
     function Child()
     {
           parent :: Parent(&$this);
     }

      function funcName()
      {
           $this->setParam(1);
       }
}

$Child = new Child();
$Child->run();
Проблема в том, что после отработки funcName Parent :: $param пустой, хотя setParam() отрабатывает.. Объясните плиз, чего я не понимаю, или что не так делаю.
Спасибо.

-~{}~ 07.06.05 12:00:

Все. Понял сам.
Object methods may also be invoked statically using this function by passing array($objectname, $methodname) to the function parameter.

-~{}~ 07.06.05 12:05:

Нашел другое решение:
PHP:
$str = 'funcName';
$result = $this->$str();
другой вопрос - почему не работает точно так же $result = $this->child->$str()?
 
Сверху