木下 敏夫
kino****@tktoo*****
2007年 12月 21日 (金) 21:52:05 JST
木下です。
> なるほど。非常に有効な使い方ですね。
> これだとモデルのみをバージョンアップさせて、履歴を残しつつ、
> 最小限のコントローラ修正で済みますね!
問題が発生した場合は簡単に元に戻せるし
if($_SERVER['REMOTE_ADDR']=='xxx.xxx.xxx.xxx'){
$this->load->model('V1.0_shop', 'current_shop');
} else {
$this->load->model('V0.5_shop', 'current_shop');
}
$this->current_shop->function();
とかで開発者だけ新しいバージョンを試すとか
$browser = get_browser_type($_SERVER["HTTP_USER_AGENT"]);
if($browser =='IE'){
$this->load->model('IE_shop', 'current_shop');
} else {
$this->load->model('FF_shop', 'current_shop');
}
とかでブラウザー固有のファンクションを読み込んだり
携帯対応等もこれの応用で可能かな。
ユーザーのアクセス権限なんかも個々に判断しなくても
if(is_login()){
$this->load->model('login_shop', 'current_shop');
} else {
$this->load->model('guest_shop', 'current_shop');
}
$this->current_shop->function();
なんかで機能を完全に分けて書けるから個々のファイルがすっきりして
メンテナンスし易くなるかも。
個々の関数で権限を評価する必要がなくなるので速度も
向上する。
利用法を色々考えて活用すべき機能ですね。
これの応用例を一杯書籍に載せるだけでも他のフレームワーク
との差別化ができるかも知れませんね。
--
木下敏夫
mailto:kino****@tktoo*****
http://www.tktools.jp/
http://www.oidc.jp/bmb/index.php?topic=-m-D14