0

我目前正在阅读很多有关 HMVC 的内容并尝试学习它。到目前为止还没有使用它,因为我想在尝试编写代码之前理解它(我想尝试制作一个 lil 迷你框架,只是为了在我使用一些大型已知框架之前理解所有内容,不喜欢使用我不理解的东西 100%)。

所以我的问题是模块的某些视图如何输出其数据。有很多图形,但它们只显示了小型 MVC 三元组和模块控制器之间的链接。

因此,如果我的页面顶部有一个 MVC(级别 #1)并且我有一些模块(级别 #2),则请求将转到级别 #1,并且那里的控制器将决定接下来会发生什么,但是输出呢?2 级视图会输出其数据吗?或者它会像 $outputModuleXy = file_get_contents($templateName) 一样保存它并将其返回给第 2 级控制器,后者会将其传递给第 1 级控制器,以便第 1 级视图负责输出?

我对此有点困惑,因为我似乎找不到一些描述数据流的教程以及来自模块的视图数据如何到达浏览器。

4

1 回答 1

1

HMVC是一个分层模型-视图-控制器,这意味着您的应用程序中有许多模块。每个模块本身就是 MVC。所以你对输出数据的困惑很简单。您命名的每个(级别) 。有它自己的视图 - 模型 - 控制器。所以它只是会在它的视图中输出。假设您的系统在登录部分具有很大的凭据。它由许多级别的登录类型组成。并且您想将登录部分分离到单独的 MVC 模块中,这将导致您将应用程序构建为HMVC。现在如果我进入你的应用程序。第一反应模块会跳起来照顾我。但后来我想进入我的会员区。我可以在其中添加用户或修改他们的权限。所以你的控制器将调用处理这个区域的模块,这是另一个 MVC 层。这里的输出是由这个模块的视图提供的。

HMVC中有许多深入的功能,您必须在教程中阅读。

您可以查看许多有关HMVC的资源:

  1. tutsplus - 在codeigniter解释中谈论它。
  2. inviqa - 在kohana php解释中谈论它
  3. javaworld - 谈论论文本身。
于 2013-01-12T14:31:00.267 回答