Как написать конкретный метод модели в качестве обратного вызова в call_user_func_array()?

Я пытался отправить динамическое количество аргументов функции в Codeigniter и столкнулся со стеной с call_user_func_array.

Одна ошибка, которую я получаю «Неопределенное свойство: Account::$callShowMessage», заставляет меня задаться вопросом, возможно ли вообще сослаться на функцию в другом файле с помощью call_user_func_array/CodeIgniter.

Если бы кто-нибудь мог помочь мне указать правильное направление, это было бы очень признательно.

Множество:

Array ( [0] => Current password is incorrect [1] => New passwords don't match )

Выдержка из контроллера:

$this->session->set_flashdata('msg', call_user_func_array($this->generic_model->callShowMessage, $msg));

Функция:

public function callShowMessage()
{   

$args = func_get_args();  

foreach ($args as $key => $value) {  
    $msg .= "$value<br />";  
}   
$msg = addslashes($msg);
return "<script type='text/javascript'>$(document).ready(function() { showMessage('$msg') });</script>";
}

person jsuissa    schedule 02.03.2012    source источник


Ответы (1)


call_user_func_array(array($this->generic_model, 'callShowMessage'), $msg)

Чтобы передать метод объекта в качестве обратного вызова, используйте приведенный выше синтаксис массива с объектом и имя метода. См. http://php.net/manual/en/language.pseudo-types.php#language.types.callback(неработающая ссылка).

person deceze♦    schedule 02.03.2012