2013-05-12 72 views
5

這是一個很好的解決方法,它可以在視圖中使用CodeIgniter中的助手類。當我必須從文本字符串中提取常規表達式並在匹配中生成輸出時,我有一種情況。我不想直接在視圖中做這個,我想爲此使用一個幫手。視圖中的CodeIgniter助手

application 
--view 
---myview.php 

,在這裏我應該叫助手,並返回結果

例如我想從文本中提取處理器的類型,比我通過文字並獲得返回的處理器類型。這是必需的,因爲視圖中的所有數據都是由API動態生成的。

echo $myhelper->processor($text); 
+0

ü要使用的輔助函數裏面查看意味着它是可能的,允許太...但我沒有得到你所說的「在**輔助類是什麼意思風景**」! – 2013-05-12 17:56:14

+0

我的意思是調用助手類,它是視圖中的方法。 – fefe 2013-05-12 17:57:46

+0

我想我誤解了你。 (或)是否讓你感到困惑:'$ this-> load-> helper('helper_name');'調用類的代碼行? – 2013-05-12 17:59:54

回答

4
get_instance()->load->helper('HELPER_NAME'); 
+2

代碼只有答案真正從後帶走,如果有人找過這個帖子,他們會不知道它的所作所爲 – Jojodmo 2014-03-14 14:49:43

+1

我可以解釋,但已經有很多關於「幫手」的評論,我相信這個小答案很清楚。 – 2014-03-14 14:58:49

8

CodeIgniter的user guide解釋說,助手可以加載並在視圖中使用它們的功能。

笨不加載輔助文件通過默認,所以第一步 在使用Helper是加載它。一旦加載,它將成爲您的控制器和視圖中全局可用的 。

然而,它是不加載在一個視圖中的助手最佳初步實踐,這樣你既可以auto-load相關的幫手,或在你的控制器(S)加載它。

一個助手可以在任何地方你的控制器功能中,你在使用它之前加載它被加載(或甚至在您查看文件 ,雖然這不是一個好的做法),作爲 長。您可以將控制器構造函數加載到 中,以便它們在任何函數中自動變爲可用 ,或者您可以在需要它的特定函數 中加載幫助器。

因此,在視圖中使用助手函數是好的,雖然鼓勵助手加載到控制器或自動加載。

+0

感謝您的反饋!如果我在我的控制器中初始化幫助程序比在我的視圖中還可用? – fefe 2013-05-12 18:14:34

+1

是的! - _一旦加載,它將成爲您的控制器和視圖的全局可用內容。_ – jleft 2013-05-12 18:18:06

+1

對我來說,它始終是更好地加載資源,只有當你需要它,所以鑑於負荷助手是有道理的。 – 2014-03-14 14:29:06

2

只加載助手在你的控制器,然後

$this->load->helper('MY_common_functions'); 
$template['content'] = $this->load->view('your_view'); 

在視圖中直接調用函數的名稱。在這種情況下,我打電話給我的轉換功能

echo convertor($params);