Я использую следующий код в своей программе.php call_user_func_array() warning
class A {
function __call($fname,$arguments)
{
$methods = array('get', 'set');
foreach ($methods as $method) {
if(strstr($fname,$method))
{
$fname = str_replace($method, "", $fname);
$function = $method."method";
if($method == "set")
{
call_user_func_array("setmethod", array($fname,$arguments[0]));
}
if($method == "get")
{
call_user_func_array("getmethod", $fname);
}
break;
}
}
}
function setmethod ($key,$value)
{
$this->$key = $value;
}
function getmethod($key)
{
return $this->$key;
}
}
и я получаю warrning как этот
«Внимание: call_user_func_array() ожидает параметр 1, чтобы быть действительным обратным вызовом, функция„setmethod“не найден или имя недопустимой функции»
и программа перестает отображаться дальше.
Итак, я считать это частью класса? – vollie
'call_user_func_array' не волшебным образом признает, что вы находитесь в контексте класса. Используйте 'array ($ this," setmethod ")' вместо просто '' setmethod ''. – Yoshi