LINE2015.01.16(完全に独り言)ブラウザーにページを出力する場合、ひとつのアプリケーションの内容だけ、ということはいまやほとんどない。WordPressで画面を作っても右ペインにはアーカイブや更新記事のリスト、ウィジェットなどが出てくる。同様のものを自分で作ろうと考えると、これは非常にむつかしい。HTMLなどクライアントサイドでカバーするもともとHTMLは「ひとつの文書がひとつの画面」である。javascriptでドキュメントを読んだとしてもappendchildと現在の文書に追加することになる。例外はiframeだが、例外なだけにあまりアプリケーションで使うべきではないだろう。Igniterはモデルもビューも複数を呼ぶことは許しているが、コントローラーを複数呼ぶことはできないように作ってある。HTMLと整合性を考えたのだろうと思われる。冒頭に書いたように違う話は違うファイルで考えたいのが開発者というものだ。WordPressならば「記事を表示する」「フッター」「ヘッダー」「アーカイブ」とそれぞれコントローラーを作ったほうが、考えやすい。HMVC(階層型MVCモデル)という考えを取るとどうなるか。IgniterをエンハンスしてHMVCを創りだしているパッケージはいくつかあった。致命的なのは(当たり前だが)ページが遷移した時にそれぞれが保持するデータは自分で管理しなくてはならないということだ。言い換えるとセッションにしろGET/POSTデータにしろ自分で管理。それぞれのコントローラーで似たようなコードを書くことになる。CodeIgniterで現実的な書き方は以外に臭い次のようになるのではないだろうか。sub2の中を関数とする、と。バカみたいだが、少なくともファイルを分けて開発はできる。ひとつのファイルに何百行もコードを書くのはイヤだという人向けですかね。Ver3.主な変更点と+BootStrapめでたくライセンスがブリティッシュコロンビア工科大学に移り、MITライセンスなりました。ことで使ってみていきなり蹴つまづいた。PHPもUTF8で開発しているのだから、MySQLもUTF8にする。簡単なハズのCodeIgniterですが、以外に基本的なことが見つからなかったのでメモ。データベースModelを作って使いたい人は多い、というよりも、それなしのWEBアプリを想像するほうがむつかしいのですが。1.7.2日本語版リリースまあまあの速度で、ユーザー会が最新版に対応しました。ついでに、パッケージも本家とがっちゃんこしなくてよくなった。