5

したがって、基本的な用語でカスケード ファイルシステムを理解していると思いますが、MVC の「階層構造」に頭を悩ませているようには見えません。MVC よりも HMVC を使用する利点と、それが基本的な意図された機能であることを誰か教えてもらえますか?

御時間ありがとうございます!

4

3 に答える 3

5

内部ページ (コントローラとアクションはルートによって検出されます) のリクエストを行うことができます。たとえば、これを行うことができます。

class Controller_Menu extends Controller
{
    public function action_index()
    {
        $this->request->response = view stuff ...
        $this->request->response->set('...', ...) // some vars
    }
}

class Controller_Home extends Controller
{
    public function action_index()
    {
        $this->request->response = ...; // some view stuff...
        $this->request->response->set('menu', 
            Request::factory('menu')->execute()->response // here happens the magic
        );
    }
}

メニューを持つすべてのページは、メニューなどをロードするためのすべてのロジックを実行する必要はありません (モデルからなど)。コントローラーにリクエストを送信して実行し、結果を取得するだけです。正しく使用すると非常に便利です。

于 2010-06-10T17:14:12.073 に答える
5

HMVC はウィジェットに適しています。たとえば、カレンダー ウィジェットには独自のコントローラー、モデル、および一連のビューがあり、そのコントローラーを呼び出すだけで、メイン ページ内から特定のビューをレンダリングしてウィジェットを埋め込むことができます。

再利用可能な GUI 要素に重点が置かれています。追加情報については、http ://www.javaworld.com/javaworld/jw-07-2000/jw-0721-hmvc.html を参照してください。

編集: 実際の PHP 中心のリンクは次のとおりです: http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/。イラストも綺麗になりそうです。

于 2010-06-10T17:15:07.267 に答える
3

KO3 フォーラムの人々は、追加の HTTP リクエストなしで AJAX リクエストを作成するような HMVC 機能について説明しています。

アプリケーションの不可欠な部分として API を持つシステムを構築したい場合は、おそらく現実のケースです。例えばツイッター。HMVC を使用すると、最初に API を作成し、それをアプリケーション内で使用できます。これにより、コードの重複または余分な HTTP リクエストが節約されます。

ただし、現時点では、主に送信できるリクエストの種類が原因で、この方法での作業はかなり制限されています。これは、これに関して少し前に作成したフォーラム投稿です。HMVC がどのように役立つかが明らかになるかもしれません。

于 2010-06-15T12:59:18.757 に答える