0

Codeigniter の関数に動的な数の引数を送信しようとしていて、call_user_func_array で壁にぶつかっています。

「Undefined property: 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>";
}
4

1 に答える 1

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

オブジェクトのメソッドをコールバックとして渡すには、オブジェクトとメソッドの名前で上記の配列構文を使用します。http://php.net/manual/en/language.pseudo-types.php#language.types.callback(リンク切れ)を参照してください。

于 2012-03-02T02:28:11.130 に答える