gpt4 book ai didi

php - MVC : Can a view loop through query results?

转载 作者:可可西里 更新时间:2023-10-31 22:08:33 28 4
gpt4 key购买 nike

我是 MVC 的新手。您已被警告...

我有可以将 MySQL 结果资源返回给 Controller 的用户模型。 Controller 将 MySQL 资源传递给 View 以进行显示。使用数据库结果获取功能在 View 中打印查询结果是否可以接受?

<?php while($row = some_fetching_function($database_result_resource): ?>
<tr>
<td><?=$row['Username']?></td>
...etc
</tr>
<?php endwhile; ?>

我觉得这不对。它是紧密耦合的,对吧?模型必须返回某种类型的数据库资源,而 View 必须使用某种类型的数据库获取方法循环遍历它。可以在不循环遍历结果两次的情况下解耦吗?我认为您必须循环遍历模型中的结果以创建结果数组,然后在 View 中再次循环。

总结:

  1. View 能否显示数据库结果资源,同时遵守 MVC 设计模式?
  2. 是否可以避免两次循环数据,同时避免与数据库紧密耦合?

最佳答案

如果您抽象出代码的数据库部分,我认为这是可以接受的。例如,您可以提供一个可以迭代的“行集”(实现 Iterable 接口(interface)或其他东西)。在幕后,该对象可以包含数据库结果并使用获取功能。

基本上,这个想法是您的 View 处理一个看起来很普通的行集,这并不意味着它来自数据库或任何其他来源,这样您就可以减少耦合。

关于php - MVC : Can a view loop through query results?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1111385/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com