模型/视图/控制器

论何时创建应用程序,都必须找到一种组织代码的方法,以便找到正确的文件并使其简单易于维护。像大多数Web框架一样,YP使用Model,View,Controller(MVC)模式来组织文件。

这将数据、展示和处理流程作为单独的部分保留在应用程序中。应该指出的是,对于每一个元素的确切作用有很多看法,但是这个文件描述了我们的看法。

如果您的想法不一样,您可以随意修改如何使用每件作品。

模型 管理应用程序的数据,并帮助执行应用程序可能需要的任何特殊业务规则

视图 简单的文件,几乎没什么逻辑、向用户展示信息

控制器 在视图和数据存储之间来处理数据。

在基本的情况下,控制器和模型只是具有特定的类。它们并不是您可以使用的唯一类型,但它们构成了如何设计该框架的核心。

甚至在/app目录中指定了它们的存储目录,尽管你可以自由地存储它们,只要它们具有正确的命名空间。我们将在下面更详细地讨论

视图

视图是最简单的文件,通常是具有非常少量PHP的HTML。

PHP应该非常简单,通常只是显示一个变量的内容,或循环遍历处理一些数据。

控制器从模型获取数据,再把数据作为变量传递给视图可进行展示数据。

您还可以在视图中显示其他视图,使其在每个页面上显示公共页眉或页脚非常简单。

视图通常存储在/app/Views中,但如果不以某种方式组织,可能会很快变得笨重。

为了解决这问题,YP在Views下为每个控制器创建一个名称为控制器新的目录。

然后,通过方法名称命名视图。这让他们很容易找到。

例如,User控制器中有个add方法, 那么此方法的视图模板就存储在app/Views/User/add.html

模型

模型的工作是为应用程序维护单一类型的数据。这可能是用户数据,博客文章数据,交易数据等。

在这种情况下,模型的作业有两个部分:在数据中提取或放入数据库时​​对数据执行业务规则; 并处理数据库中数据的实际保存和检索。

对于许多开发人员来说,在确定执行哪些业务规则时会产生混乱。

这仅仅意味着任何对数据的限制或要求都是由模型来处理的。

这可能包括在保存原始数据以符合公司标准之前规范化原始数据,或者在将其转交给控制器之前以某种方式格式化列。

通过在模型中保持这些业务需求,您不会在几个控制器中重复代码。

模型通常存储在/app/Models中,它们可以使用命名空间进行分组。

控制器

控制器有几个不同的角色要玩。最明显的是,他们接收到用户的输入,然后确定该怎么办。

这通常涉及将数据传递给模型以保存,或者请求来自模型的数据,然后传递给要显示的视图。

这还包括加载其他实用程序类(如果需要)来处理不在模型范围内的专门的任务。

控制器的另一个责任是处理与HTTP请求有关的所有事项 - 重定向,认证,Web安全,编码等。

简而言之,控制器是确保人们被允许在那里的地方,并获得数据他们需要一种可以使用的格式。

控制器通常存储在/app/Controllers中,它们可以使用命名空间进行分组。

results matching ""

    No results matching ""