2012-12-03 41 views
1

有一個幫助程序,我希望在覈心類CI_Router(MY_Router,使其更加準確)中使用它。在這個自定義路由器中,我對原始代碼進行了一些修改,以便能夠將連字符插入到我的網址中。 像往常一樣,我已經在autoload.php文件上定義了助手,但似乎我不能在視圖或控制器以外的類內部添加輔助函數。在CodeIgniter的Core類中使用幫助程序函數

有關如何處理此問題的任何想法?我最初的方法是使用助手,所以我可以在任何我想要的地方重複使用它。

TYVM。

回答

1

幫助者直到核心之後才被實例化,因此它不起作用。

你要麼必須:

  1. 複製功能在你MY_Router類,或者,
  2. 反思爲什麼你可能使用相同的功能的路由器,你在一個標準的控制器或視圖中使用。

選項1顯然更容易,但根據您的強迫症有多糟糕,可能不會更好。

+0

確定...選擇一把手將現在做的,我想是因爲我在趕時間。但是,知道有更好的方法可以做到這一點非常好。謝謝。 – darksoulsong

+0

看看http://ellislab.com/codeigniter/user-guide/general/hooks.html - 你也許可以使用'pre_system'掛鉤,但你不會有機會獲得任何CI東西,所以如果你的功能依賴於這些,那麼你的運氣不好。 – Brendan

0

你可以嘗試獲得的主要CI對象的實例,並將它設置爲一個變量,然後使用該加載幫手。例如:

$ci =& get_instance(); 
$ci->load->helper('date'); 

我知道,在其他領域的作品,而不是100%地肯定任何路由器類。