我想在code-igniter helper
中访问函数内部函数答案 0 :(得分:1)
你可以在另一个函数中使用辅助函数,前提是你已经加载/扩展了那个助手,而你想要使用的函数不是私有的。
你试过这样的事吗:
的 HELPER 强>
funtion helper1($var) {
$CI =& get_instance();
/** you cannot use $this inside helper */
// call another function
helper_function2();
}
帮助程序是全局的,因此只要先加载了帮助程序,就可以在代码中的任何位置使用辅助函数。你可以在你的控制器的构造函数中加载你的助手:$ this-> load-> helper(' new_helper');
答案 1 :(得分:0)
您可以使用CI助手中的任何功能。如果要向现有帮助程序添加新函数,则必须扩展该帮助程序。
一切都在手册中:https://www.codeigniter.com/userguide3/general/helpers.html#extending-helpers
以下是该链接的摘录:
// any_in_array() is not in the Array Helper, so it defines a new function
function any_in_array($needle, $haystack)
{
$needle = is_array($needle) ? $needle : array($needle);
foreach ($needle as $item)
{
if (in_array($item, $haystack))
{
return TRUE;
}
}
return FALSE;
}
// random_element() is included in Array Helper, so it overrides the native function
function random_element($array)
{
shuffle($array);
return array_pop($array);
}