将call_user_func_array与CodeIgniter / PHP一起使用

时间:2012-03-02 02:24:00

标签: php codeigniter

我一直在尝试向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>";
}

1 个答案:

答案 0 :(得分:5)

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

要将对象的方法作为回调传递,请将上述数组语法与对象和方法的 name 一起使用。请参阅http://php.net/manual/en/language.pseudo-types.php#language.types.callback