假设我有
$db is an instance of Zend_Db_Adapter_Abstract and
$sql = 'SELECT blah blah FROM table' will return a huge number of records.
Run Code Online (Sandbox Code Playgroud)
有两个代码片段来处理返回的数据,如下所示.
// Code fragment 1 (let's call it C1).
$results = $db->fetchAll($sql);
foreach ($results as $row) {
// Process $row
}
// Code fragment 2 (let's call it C2).
$stmt = $db->query($sql);
while ($row = $stmt->fetch()) {
// Process $row
}
Run Code Online (Sandbox Code Playgroud)
我的理解是C1会将所有返回的数据加载到$ results.因此,大量数据被加载到PHP内存中.以下是我的问题.
谢谢!
我正在编写一个模块来执行某些任务,具体取决于应用程序是在控制台还是HTTP上下文中运行.有没有办法在加载模块时检测到这个?
例如,我尝试使用Module.php类执行此操作.
namespace MyModule;
use ...
class Module
{
public function init(ModuleManager $mm)
{
if (Console context) {
// do something
} else {
// do something with HTTP
}
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!