CodeIgniter HMVC その後(2)

CodeIgniter Mobile

◆ここまでのあらすじ
最初1.7.2にCIUnitを組み込んでから、HMVC modular extensions 5217.zipを組み込み後、CIUnitを組み込み。携帯対応で混乱をしたため、上記作業のメモを元に、再度仕切りなおしをしました。

CodeIgniterを1.7.2にHMCV modular extensions 5219.zipを組み込み、その動作を確認しました。
/modules/{モジュール名}/controllers/{モジュール名}.phpの動作を確認

設置場所URL/index.php/{モジュール名}/

でアクセスできました。

/modules/{モジュール名}/controllers/{モジュール名と違う名前}.phpの動作を確認
この場合はURLは 

設置場所URL/index.php/{モジュール名}/{コントローラ名}

でアクセスできました。

◆その後やったこと。◆
(HMVC) modular extensions 5217.zipのコードを拝見。
(=▽=).o(勉強になるなぁ♪)

(HMVC) modular extensions 5217.zipに+携帯関連のコードを追加しました。

  • 【携帯対応】モバイル判定 (MyNETS2より移植)
  • 【携帯対応】文字コードの処理および絵文字関連 (MyNETS2より移植)
  • 【携帯対応】セッションIDの発行 url_helperの拡張
  • 【携帯対応】携帯の場合のDBからのセッションの読み込み、セッション(Cookie)は暗号化することを前提です。

携帯、PCを意識することなく、コードが書ける環境ができました。

◆課題◆
CIUnitを外してしまいました。
modular extensions 5217.zipでは、うまく動かなかったことと、
やはり本体の本体/system/codeigniter/CodeIgniter.phpを書き換えることが、やっぱり引っかかります。

テストをする仕組みを再度組み込む必要があります。
とりあえずは、unit_testクラスを使う方向で考えたいと思います。

メモ*テストを書くべき場所はどこか?*
CodeIgniterのUnit_testクラスでテストを書くなら、testコントローラを作って、そこにテストを書きたいなと思います。
controllerからcontrollerを呼べないわけだけれど、controllerからモデルもライブラリもヘルパーも呼べる。
ということは、呼ぶ、値を渡す、返ってくる値を評価するというお仕事は、controllerが適役。

modular extensions 5217.zipを組み込むと、モジュールから、他のモジュールのコントローラを呼ぶことが出来ます。これを利用して、とりあえずはunit_testクラスを使う方向で、使ってみようと思います。

<?php 
 echo modules :: run ( 'module/controller/method' , $param , $...); 
?>

参考サイト: