PDOを使用して行をオブジェクトにフェッチしています。それについて2つの質問があります:
1-オブジェクトでプライベートプロパティを使用し、getLabel()などの別の関数自体を呼び出す可能性のある__get()メソッドを使用してそれらを返す場合、これは多くのレコードを取得するときに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-多くの列を持つクラスの場合、クラス定義でそれらすべての列を定義し、多くのレコードを取得するときにそれらのいくつかを選択すると、null値を持つオブジェクトで定義されるため、これはphpメモリ使用量にどのように影響しますか?それは受け入れられますか?
行を1つずつフェッチするのではなく、一度にすべてをフェッチするわけではありません。
例:
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のパフォーマンスとメモリにどのように影響しますか?
私が知っている限り、教義はこれら2つのパターンを使用しています。PHPのパフォーマンスに影響を与えるこれをどのように克服しますか?