2013-05-12 9 views
5

これは適切な回避策であり、ビュー内のヘルパークラスをCodeIgniterで使用することは可能でしょうか。私は、文字列のテキストのカップルから正規表現を抽出し、マッチで出力を生成しなければならない状況があります。私はビューでこれを直接実行したくないので、この目的のためにヘルパーを使用したいと思います。ビュー内のCodeIgniterヘルパー

application 
--view 
---myview.php 

とここで私はヘルパーを呼び出し、その結果、私はテキストを渡し、プロセッサタイプを返しますよりも、テキストからプロセッサの種類を抽出したい例えば

を返す必要があります。これは、ビュー内のすべてのデータがAPIによって動的に生成されるため必要です。

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

と呼ばれることが可能であり、あまりにも許可されている意味...しかし、私はあなたが「**ヘルパークラスによって何を意味するか取得していません景色**"! –

+0

私はヘルパークラスを呼び出すことを意味し、それはビュー内のメソッドです。 – fefe

+0

私はあなたを誤解していると思います。 (または)これは混乱します: '$ this-> load-> helper( 'helper_name');'クラスを呼び出すコード行??? –

答えて

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

コードのみの回答は本当に投稿から取り除かれます。もし誰かがこの投稿を見ていたら、彼らは何をしたのか分かりません。 – Jojodmo

+1

私は説明することができますが、 "ヘルパー"についてのコメントはすでにたくさんあります。答えは十分明確です。 –

8

CodeIgniterのuser guideヘルパーがロードされ、その機能は、ビューで使用することができると説明しています。

CodeIgniterはデフォルトでヘルパーファイルを読み込まないため、最初のステップ はヘルパーを読み込むことです。一度ロードされると、あなたのコントローラーとビューではグローバルに が利用可能になります。

しかし、ビュー内でヘルパーをロードするのは最適ではないので、auto-loadの関連ヘルパー、またはコントローラにロードすることができます。 (それは良い習慣ではありませんが、あるいはあなたのビューファイル内 )あなたはそれを使用する前にそれをロードするよう

ヘルパー

は 限り、あなたのコントローラ機能内の任意の場所にロードすることができます。ヘルパーをコントローラのコンストラクタ にロードして、任意の関数で自動的に を利用できるようにするか、ヘルパーを必要とする特定の 関数でロードすることができます。ヘルパーがコントローラにロードされていることを奨励し、または自動ロードされているものの

だから、ビューのヘルパー関数を使用すると、罰金です。

+0

フィードバックに感謝します!私のコントローラでヘルパーを初期化しても、私の見解で利用可能なヘルパーよりも優れていますか? – fefe

+1

はい! - 一度ロードすると、コントローラとビューでグローバルに使用可能になります。_ – jleft

+1

私にとっては、必要な時にのみリソースをロードするほうが良いので、ロードヘルパーは意味があります。 –

2

ちょうど直接あなたの関数名を呼ぶビューで、その後

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

、お使いのコントローラでヘルパーをロードします。この場合、私はUがビュー内のヘルパー関数を使用しようとしている私のコンバータ機能

echo convertor($params); 
関連する問題