【问题标题】:Implementing OOP PHP with AJAX, MVC?用 AJAX、MVC 实现 OOP PHP?
【发布时间】:2011-11-19 05:38:33
【问题描述】:

我是 OOP 范式(和 AJAX/jQuery)的新手,但想创建一个采用 MVC 架构的基本站点,在 PHP 中,具有 AJAX 功能。我画了一张简图,说明我目前是如何“理解”架构的。

大概在使用 AJAX 时,它充当控制器直接与模型交互以检索所需的任何功能?我添加的文件名只是为了让您了解我“认为”应该包含的内容。例如index.php 将是一个 html/css 模板,其中包含相关位置的模块(无论它们是什么) - news.php、navigation.php 等。 database.php/pager.php 可能包含类和扩展类我为分页创建,或连接/查询数据库我正在努力查看控制器组件可能是什么 - 它肯定最终会成为“第二个后端视图” - 从模型中调用类以发送到风景?

我可能在这里很好地表达了我的困惑 - 视图、控制器和模型中应该包含什么...... AJAX 功能在技术上是另一个控制器吗?任何类似于我上面的图表都会非常有帮助。

【问题讨论】:

标签: php ajax model-view-controller architecture


【解决方案1】:

有一种方法可以看到这一点。

  • Ajax 是在 MVC 组件(如 HTTP POST)之间发送数据的媒介。在这方面,它没有出现在 MVC 模式中。
  • 如果实际用于显示数据,JSON格式的实际显示也可以看作是一个视图。

从这里你应该能够得出自己的结论。

【讨论】:

    【解决方案2】:

    您可以使用名为“YII”的 PHP 最好的 MVC 架构。从这里获取更多信息 http://www.yiiframework.com/

    【讨论】:

      【解决方案3】:

      好的,所以 AJAX 是一种传输方法,而不是像模型或控制器这样的应用程序。

      您的客户端将通过 AJAX 与一个或多个控制器进行通信。

      这些控制器使用或调用模型来处理不同类型的任务。

      然后控制器或模型使用传输友好格式(JSON、YAML、XML)或视图(HTML 片段)的消息响应请求。

      控制器处理请求,这意味着它接收初始客户端输入。根据具体情况,此输入必须在用于您的应用程序之前进行格式化、规范化、变异或转换。

      然后控制器使用或调用模型;这意味着它要么处理业务逻辑本身(旧样式)并使用模型来访问数据源,要么将应用程序的主要工作流程完全交给模型(新样式)。

      第一个实例中的模型抽象了一个持久存储实体(如数据库)。在当代应用程序设计中,它还执行应用程序的主要业务逻辑。

      【讨论】:

      • 所以,只是为了确保我理解(或至少我认为我理解的内容)...假设我有一个“目录”网站,有人点击了一个类别链接(在视图中) .然后控制器将接收该请求,然后调用从数据库中获取信息所需的模型,另一个模型将数据排序为 X 顺序,另一个模型删除 X 行(以及其他任何内容)。然后控制器会将这些信息发送回类别视图模板? (暂时忘记 AJAX)。我觉得另一个图表正在出现......如果没有,我很难进一步解释我的理解
      • 给出一个文件夹结构和代码示例......我可能会这样做。我正在努力想象一切将如何整合 - 我想我理解这种模式,只是不知道如何实现它。
      • 你不需要那么多模型。一个名为“Category”的模型将具有诸如“create”(创建新类别)、“get_subcategories”(可能带有 order 参数)之类的方法。然后,您将拥有另一个名为“帖子”的帖子,您可以在其中“创建”、“删除”、“get_view_counter”、“update_view_counter”等……这与数据库中的表大致为 1:1 关系。跨度>
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 2012-02-24
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      相关资源
      最近更新 更多