是否可以将数组中的查询结果传递给视图,而不是SQL资源


Is it OK to pass query results in array to view, instead of SQL resource?

我以前有"平面"脚本。一个文件中的经典HTML+PHP:

$result = mysql_query ('asd');
while ($record = mysql_fetch_assoc($result));
{
    ?><div><?php echo $record; ?></div>
<?php } 

我知道这很糟糕。但现在我在MVC中工作,结果必须放在一个数组中。而不是记录,必须放置对象。它对服务器来说不是太重了吗?它需要更多的内存。还是它被接受了,服务器通常可以接受它,而我是唯一一个用大象做蚂蚁的人?

我知道这很糟糕。

当然很糟糕。因为它总是打印单个单词Array而不是任何数据。

对象必须放入

这不是真的
并没有理由在必须使用数组的地方使用对象。

不管怎样,

它对服务器来说不是太重了吗?

不,不是。你可以很好地使用对象。只要确保你合理地使用对象,这是有原因的;但不要遵循一些手册中的"使用对象"。

最后,

将数组中的查询结果而不是SQL资源传递给视图可以吗?

当然。这是唯一可能的方法,即使您没有使用MVC。

就计算能力而言,编写结构化和可维护的代码通常更昂贵。无论如何,在大多数情况下,优势要重要得多。

考虑表现从来都不是个坏主意。您可以使用Xdebug或XHProf等工具来评测代码,也可以通过microtime()使用执行时间测量来开始简单的操作。

您可能会注意到,您将大部分时间用于加载库、解析配置文件和查询数据库,而不是处理一些额外的数据或对象。