0
我想在我的ORM中做一些缓存为每个孩子分隔静态变量
class Base {
static public $v=array();
static public function createById($id){
if(!array_key_exists($id, static::$v)){
static::$v[$id] = new static; //Get from DB here. new static is just example
}
return static::$v[$id];
}
}
class User extends Base{
}
class Entity extends Base{
}
但现在缓存合并
var_dump(User::createById(1));
var_dump(Entity::createById(1));
结果
object(Model\User)#4 (0) {
}
object(model\User)#4 (0) {
}
如果我制作了
class Entity extends Base{
static public $v=array();
}
class User extends Base{
static public $v=array();
}
我得到了什么我需要:
object(Model\User)#4 (0) {
}
object(model\Entity)#5 (0) {
}
是否有可能在每个课程中都没有声明?
无论如何,它比每个孩子班级的重新宣言都更加美丽:) 1曾经写过,没有多想过,谢谢。 – RiaD