如何在代码点火器助手中调用函数内部函数

时间:2017-03-04 07:16:50

标签: php codeigniter email

我想在code-igniter helper

中访问函数内部函数

2 个答案:

答案 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);
}