[Codeigniter-users] HMVCを実現するライブラリ

Zurück zum Archiv-Index

kunitsuji tsuji****@m-s*****
2008年 8月 11日 (月) 15:30:06 JST


 kunitsujiです。

マッチボックスってそれだったんですね。

MyNETSとして可能であれば次のようにやりたいんですよね。
http://hogehoge/index.php/
この場合はデフォルトのモジュールが呼ばれる
http://hogehoge/index.php/diary/
この場合はdiaryモジュールが呼ばれる

一応、以前にmodules/をつくってそちらをコントロールするものは作成したんで
すが、いまいちしっくりこなかったんですよ。


>天野です
>
>先日HMVCを実装するライブラリの調査をしたのでシェアします。
>
>HMVCとはMVCモデルをモジュール化してその中だけで独立して
>MVCの実装を行うことで、他のモジュールとの切り分けを実現する
>ことです。
>
>こうすることで1つのapplicationディレクトリ以下にモジュールで切った
>独立したアプリ群を管理できるようになります。
>
>CIの場合は以下のような実装が可能になります。
>
>1. application/modules を作成
>
>2. モジュール名毎にディレクトリを作成
>application/modules/blog
>application/modules/admin
>
>3. 各モジュールディレクトリ内でのMVCの実装
>application/modules/blog/controllers
>application/modules/blog/models
>application/modules/blog/views
>
>4. モジュール名の前にコントローラ名を付けてコントローラを呼び出す
>例)
>http://localhost/blog/post/add...
>http://localhost/(モジュール名)/(コントローラ名)/(関数名)...
>
>CIのフォーラムなどを探していると以下の2つのライブラリのどちらかで
>実現できました。
>
>Modular Extensions
>http://codeigniter.com/wiki/Modular_Extensions_-_HMVC
>
>Matchbox
>http://codeigniter.com/forums/viewthread/65749/
>http://matchbox.googlecode.com/
>
>どちらのライブラリもapplication/libraryにライブラリを置いて実装している
>ので、特にコアファイルをいじる必要などはありません。
>
>簡単に各ライブラリのメリット・デメリットなど
>Modular Extensions
>メリット
>- リリースが頻繁
>- 他のモジュールのコントローラ内の関数が呼べる
>デメリット
>- なぜかモデルのクラス名を小文字にする必要があった (CIのコード規則に
>あるSample_modelみたいなクラス名ではだめのよう)
>
>Matchbox
>メリット
>- 既存のモデルのクラス名の変更をしなくてもモジュールディレクトリに
>置くだけで動いてくれた
>- MVCだけでなくlibrariesなども各モジュール下で持てる
>デメリット
>- ここ数ヶ月ソースの更新が無い
>
>天野はクラス名の変更の必要がないmatchboxを使うことにしました。
>
>Takeshi Amano
>
>Ads are the cave art of the twentieth century - Marshall McLuhan
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Zurück zum Archiv-Index