在php中重复创建对象

时间:2017-07-22 10:26:53

标签: php ajax object memory-management garbage-collection

我有自己的php结构

现在有控制器和模型我想将记录从db导出到CSV文件 我的问题是,php可以管理垃圾收集还是内存资源? 因为每次ajax请求控制器和控制器都成为模型的对象

每个请求都添加有限行(如我所定义),例如1000行到CSV,然后再次为同一个

调用ajax请求

我有大量数据,所以我只想知道每次创建控制器和模型的对象都是这项工作的床上练习?

注意:我不会在类(模型)中创建构造函数

1 个答案:

答案 0 :(得分:0)

每次发出新请求时,php都会创建对象,当php完成处理时会破坏它们。 Php不会在请求之间保留任何内存,它有一个"什么都不共享"做法。所以不,你没有做错任何事。

如果您在代码中多次调用对象,例如数据库连接类,并且您只希望该请求中的该对象的一个​​实例使用单例。

class Singleton {

private static $instance;

   protected function __construct() 
   {
     //Do something, or don't
   }

   private function __clone() {}
   private function __wakeup() {}

   public static getInstance()
   {
       if (!static::$instance) {
           static::$instance = new Singleton();
       }
       return static::$instance;      
   }

}