ユーザヘルパー
この項では、CodeIgniterにデフォルトで備わっているヘルパーファイルとは別に、
ユーザ独自のヘルパーファイルの開発方法と利用方法について解説しています。
ユーザヘルパーの作成
- ユーザヘルパーファイルの配置
ユーザヘルパークラスファイルは「 application/helpers/ 」ディレクトリ配下に設置します。
また、サブディレクトリを作成して、その配下に配置することも可能です。
- ユーザヘルパーファイル名
ユーザヘルパーのファイル名は、ヘルパー名の後に「_helper」と「.php」拡張子を付けたものになります。
ヘルパー関数の定義
ヘルパーファイルは、クラスファイルではなく、1つ以上の関数を定義した単なる関数定義ファイルです。
ユーザ定義の関数名は、PHP関数やPHP予約語、CodeIgniterの予約語などを除けば自由に
付けることができます。 ただし、CodeIgniterに用意されているヘルパー関数名と重複する場合は
ユーザヘルパーの関数が優先され、実行されますので注意が必要です。
以下は、ユーザヘルパーの簡単なサンプルです。
- hoge_helper.php
<?php /* * application/helpers/hoge_helper.php */ if ( ! function_exists('hello')) { function hello($string='') { if (is_string($string)) { return $string; } return ''; } } if ( ! function_exists('hoge')) { function hoge($data=array()) { $string= ''; if (is_array($data)) { for($i=0; $i<count($data); $i++) { if (is_string($data[$i])) { $string .= $data[$i] . ' '; } } } return $string; } }
ユーザヘルパーの利用
CodeIgniterのヘルパーと同様に、「CI_Loader」クラスの「helper()」メソッドでロードします。
一度、ロードされるとと、そのプロセス内では、どこからでもそのヘルパーファイルに 定義されている関数が利用可能となります。
$this->load->helper('hoge'); echo hello('world'); // world $data = array('hello', 'world'); echo hoge($data); // hello world