call_user_func_array()
's PHP manual's examples может только смутить меня с такими foo
и bar
переменными!using call_user_func_array() в методе _remap метода codeigniter
Во всяком случае, пожалуйста, рассмотреть _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;
- Будет ли
$output
бытьdone
? - Это надежный способ использования в функции codeigniter
_remap()
?
Вы пробовали? Почему вы создаете экземпляр контроллера? –
На самом деле я искал общий путь. Это не так, как я использую свой контроллер. В моем контроллере также есть много других методов. Я должен использовать функцию '_remap', потому что метод' search() 'должен иметь множество необязательных параметров, которые передаются в определенном пользователем порядке. –