1

call_user_func_array()の PHP マニュアルの例fooは、それらとbar変数で私を混乱させるだけです!

とにかく、以下を検討して_remapくださいComplexFunction

class MyClass extends CI_Controller
{

    public function _remap($method, $params = array())
    {

        if (method_exists($this, $method))
        {
            return call_user_func_array(array($this, $method), $params);
        }

    }

    public function ComplexFunction($param1, $param2, $param3, $param4)
    {
        // process
        return 'done';
    }

}

さて、このコードは正しく動作するでしょうか?

$params = array(
                'param1' => '1',
                'param2' => '2',
                'param3' => '3',
                'param4' => '4'
               );

$myObject = new MyClass();

$output = call_user_func_array(array($myObject, 'ComplexFunction'), $params);

echo $output;
  1. でしょ$outputdoneか?
  2. それは codeigniter の_remap()関数で使用する信頼できる方法ですか?
4

1 に答える 1

2

_remap()関数は CI のコア関数によって呼び出され、一致したルートの各セグメントに対して個別の引数が渡されるため、これは機能しません。_remap()メソッドを自分で呼び出す必要はありません。

于 2012-02-18T14:28:15.383 に答える