virakochi
Устал
call_user_func с объектами
Столкнулся с не совсем понятной ситуацией.
Есть два класса:
Проблема в том, что после отработки 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:
Нашел другое решение:
другой вопрос - почему не работает точно так же $result = $this->child->$str()?
Столкнулся с не совсем понятной ситуацией.
Есть два класса:
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();
Спасибо.
-~{}~ 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();