2017-03-04 62 views
0

調用內部函數的功能我想訪問函數內部函數代碼點火器的輔助如何在代碼點火器的輔助

+2

你到目前爲止嘗試過什麼? – zx485

+0

函數hello1(){$ this-> hello2();}函數hello2(){echo'hi';} –

回答

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); 
} 
1

你可以使用另一個函數內部的輔助函數前提是你已經裝載/擴展該助手和功能你想用的不是私人的。

你嘗試過這樣的事情:

HELPER

funtion helper1($var) { 
    $CI =& get_instance(); 
    /** you cannot use $this inside helper */ 

    // call another function 
    helper_function2(); 
} 

助手是全球性的,所以你可以在任何地方你的代碼,只要你第一次加載助手使用助手功能。你可以在你的控制器的構造函數中加載你的幫助器:$ this-> load-> helper('new_helper');