是否有必要缓存对象?

时间:2010-10-04 09:09:44

标签: php

对于一个项目,我有一些对象,一种方法是加载父实体。

所以我调用这样的方法: $这 - > getDetails() - > getEntity();

所以getEntity的代码是:

 public function getEntity()
 {
  if (isset($this->entity)) {
   return $this->entity;
  } else {
   $mapper = new Crm_Mapper_Entity();
   return $this->entity = $mapper->find($this->customerId); 
  }
 }

是否有必要将实体加载到属性中?因为当我想将它加载到另一个地方时,它不应该再次调用映射器。

或者是在加载时,对象已经在内存中了,我不需要将它放入属性中吗?

由于

1 个答案:

答案 0 :(得分:0)

使用像这样的单例模式:

class MyStatic{
    private static $instance;

    private __construct(){}

    public static getInstance(){

    if (!empty(MyStatic::$instance;)) {
            return MyStatic::$instance;
        } else {
            $mapper = new Crm_Mapper_Entity();
            $thisMyStatic::$instance = $mapper->find($this->customerId);
            return $thisMyStatic::$instance; 
        }

    }

}