11月
01
2011
CodeIgniter third_party
CodeIgniterでthird_partyディレクトリを使ってみる。
third_partyとは「アプリケーションパッケージ=配布を容易にするために それ自身の単一ディレクトリ内にライブラリ、モデル、ヘルパー、コンフィグ、そして言語ファイルをすべて備えたリソースの集合の配置を推奨」
仕組みがわかれば意外と簡単で便利かも
ユーザーガイドの構成通りthird_partyにfoo_barディレクトリを配置する
サブディレクトリは使うものだけで良いようだ。
/application/third_party/foo_bar
└config/
└helpers/
└language/
└libraries/
└models/
└views/
このthird_partyを使うには
//まずadd_package_pathでthird_party/foo_bar/へパスを通す
$this->load->add_package_path(APPPATH.'third_party/foo_bar/');
//次にライブリのロード
//このfoo_barは”third_party/foo_bar/libraries/foo_bar.php”
$this->load->library('foo_bar');
続いてthird_party/foo_bar/libraries/foo_bar.php側
このfoo_bar.phpがコントローラーってイメージですね。
class Foo_bar{
function __construct
{
// インスタンスを生成
$CI =& get_instance();
// 以降class Foo_barでの$CI->loadは
// third_party/foo_bar/libraries/foo_bar以下の
// model・ libraryなどを読み込む
}
}
//終わったらremoveでパスを解除
$this->load->remove_package_path(APPPATH.’third_party/foo_bar/’);
model・ library以外help viewも同じ用に使えるのようなので便利だと思う。