我正在使用 PDO 来获取对象的行。我对此有两个问题:
1- 在对象中使用私有属性并使用可能调用另一个函数本身的 __get() 方法返回它们,例如 getLabel(),这在检索大量记录时如何影响 php 性能?可以接受吗?
一个例子:
class model
{
private p1;
public p2;
function __get($name)
{
return $this->{'get'.$name}();
}
function getP1()
{
return '';
}
}
$obj = new model;
$obj->p1 VS. $obj->p2
2- 对于具有许多列的类,在类定义中定义所有这些列,然后在检索大量记录时选择其中一些列,这如何影响 php 内存使用,因为它们是在具有空值的对象中定义的?可以接受吗?
我不会一一获取行,也不是一次获取所有行。
一个例子:
class model
{
public $p1 = null;
public $p2 = null;
public $p3 = null;
public $p4 = null;
public $p5 = null;
public $p6 = null;
public $p7 = null;
public $p8 = null;
public $p9 = null;
public $p10 = null;
}
sql: select p1, p2 from model limit 100
每个对象有 8 个未使用的属性。这如何影响 php 性能和内存?
据我所知,学说使用这两种模式。他们如何克服这种影响 php 性能的问题?