PHP模型(MVC)是专门为数据库交互指定的吗?


Are PHP Models ( MVC ) Specifically Designated for DB Interaction Only?

我目前正在做一个个人项目。整个网站是动态的,所以我要求从所有页面的数据库的各种信息。我注意到我正在复制特定的代码来将数据显示到页面上。一些例子是将htmlspecialchars应用于数据或遍历以设置图像路径等。

我想知道的是,如果这是一个坏的决定,使我可以航向正确的早期。大多数互联网资源都说,控制器操作,而模型获取,更新,插入等到数据库。但至少对我来说,通过模型操作输出数据是有意义的,因为所有页面都会以相同的方式使用它。

No。模型仅仅表示数据,无论数据是来自数据库、XML文件、web服务/API,还是仅仅是一个数组。

如果你发现自己在做同样的事情,那么是时候重构和DRY你的代码了。对于像数据消毒这样的事情,你通常会有一个呈现者接受你的模型,然后返回你希望的数据消毒过的模型。这样模型就有了它的单一职责(表示数据),你的present也有了转换数据的单一职责。