使codeigniter对象或php无效


nullifying codeigniter objects or php in general?

我正在使用codeigniter和PHP来构建一个web应用程序,由于我必须执行大量的查询,所以我必须在模型中定义/使用很多对象。有时我不得不在一个循环中多次使用同一个对象,例如:

  $dbData = $this->mydb->query($dbQuery);
  if($dbData->num_rows() >0 ){ //check if rows were returned
     $dbResult = $dbData->result();
     foreach( $dbResult as $index => $row){
        $dbArray[$row->JOB_NAME_STG] = $row->REC_LOADED;
    }

在一般的编程实践中,一旦不再需要对象,就应该将其作废,但我还没有找到任何关于确保所有对象都作废的最佳方法的细节,以避免代码点火器或php的内存泄漏。

在函数末尾为对象指定NULL是否足够?

$dbData = $this->mydb->query($dbQuery);
$dbData = NULL;

或者代码点火器有更有效的方法来确保没有内存泄漏。

在使用之前,是否应该在循环中使对象无效,以确保没有内存泄漏?

任何指向该方向的指针都将受到赞赏。谢谢

在中分配null毫无意义

  1. php>=5.3
  2. 应用程序,无法工作数小时

以上两项你都匹配吗?

unset()应该从内存中释放变量或对象。然而,PHP并没有很好的垃圾收集功能。他们正试图通过5.3的新循环垃圾收集来改进它,但它仍然存在挑战。