ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    最新の広告

    VPSでWebサイトを作る


    ドメイン名を取得する


    プログラミングの質問サービス


    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    FC2ブログ 管理画面


    with Ajax Amazon

    CodeIgniterをHMVCでモジュール化

    このエントリーをはてなブックマークに追加
    CodeIgniterのファイル群をモジュール化するライブラリがある。
    (1) MatchBox
      http://codeigniter.com/wiki/Matchbox/
    (2) HMVC
      http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/

    MatchBoxは、以前のブログで取り上げた。
    浜村拓夫の世界 - MatchBox for CodeIgniter 和訳
    浜村拓夫の世界 - MatchBox for CodeIgniter 使い方

    MatchBoxを使うよりも、HMVCを使う方が便利らしい。

    CodeIgniter徹底入門CodeIgniter徹底入門
    (2008/06/10)
    河合 勝彦鈴木 憲治

    商品詳細を見る

    ●HMVCの使い方
    インストール方法
    CodeIgniterの学習 50 - HMVCモジュール拡張のインストールと改造をする

    手順1)
    Modular Extensions - HMVC からソースをダウンロードする。
    http://codeigniter.com/wiki/Modular_Extensions_-_HMVC/

    手順2)
    解凍したファイルの
    * Controller.php
    * Modules.php
    * MY_Router.php
    を、application/libraries に設置する。
    インストールは以上。



    これで既存のコントローラの設置場所以外に、
    application/modules/モジュール名/controllers/モジュール名.php
    のコントローラが
    http://example.com/モジュール名/(メソッド名)/
    で呼べるようになる。



    モジュールのフォルダを作り、その中にMVCのスクリプトファイルを配置できると。

    デフォルトのCIと、HMVCを導入したCIの違いについて、分かりやすく解説したスライドがあった。
    NEKOGET PRESS - 第46回PHP勉強会@関東で発表をしてきました
    CodeIgniter HMVC構造にしてみるお話


    ●HMVCの使用例
    CodeIgniterを拡張したCIEXというフレームワークでHMVCが使われていた。
    CIEXtended ユーザガイド › モジュール構造

    CIEX のモジュール構造は CI ライブラリで人気のある HMVC をベースに作成されています。



    CodeIgniterを使ったMyNETS2というSNSでHMVCが使われていた。
    CodeIgniterをつかってMIXIアプリを作る - KuniTsujiのPHP開発日記

    CodeIgniterを使ったフレームワークの拡張を行っておりましたが、現在は次のような感じ
    1)MatchBoxライブラリを辞めて、HMVCを使ってモジュール化を実現


    HMVCを使うと、予期せぬ動作(バグ)もあったらしい。

    Controllerの_output()メソッドが使えなかったんです。
    HMVCの場合、コントローラを独自にHMVCが用意しており、そこでのCIオブジェクトの保持方法に不具合があったということですね。



    ●階層化されたMVC
    HMVCでCodeIgniterをモジュール化すれば、PACアーキテクチャーのDrupalのように、機能の追加や拡張を管理しやすくなるだろう。
    浜村拓夫の世界 - PAC (Presentation Abstract Controller)

    PACとは、Presentation Abstract Controllerの略で、「MVCの階層的アーキテクチャー」とみなせるものだという。
    これを採用しているソフトには Drupal、Firefox、Eclipse などがあります。
    Drupal は PAC であり、米アマゾンのウェブ開発カテゴリでの本のランキングに Drupal が入ってきていることからもその生産性の高さが伺い知れると思います。



    Drupalは、ホワイトハウスのWebサイトにも使われている人気の高いCMSである。
    ホワイトハウスの公式サイト,オープンソースのCMS「Drupal」を採用

    スクリプトファイルを「たったの3個」配置するだけで手軽に使えるHMVCは便利そうだ。
    今作っているWebサイトで、HMVCを早速使ってみることにしよう。
    関連記事
    このエントリーをはてなブックマークに追加

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    https://hamamuratakuo.blog.fc2.com/tb.php/457-a3365f4a