Nesneler PDO::FETCH_CLASS üzerinden alındığında,
önce nesne özellikleri atanır, ardından sınıf kurucusu çağrılır. Ek
olarak PDO::FETCH_PROPS_LATE sabiti de belirtilmişse,
bu sıra tersine döner, yani önce kurucu çağrılır ardından özellikler
atanır.
<?php
class Person
{
private $name;
public function __construct()
{
$this->tell();
}
public function tell()
{
if (isset($this->name)) {
echo "Ben {$this->name}.\n";
} else {
echo "Henüz adım yok.\n";
}
}
}
$sth = $dbh->query("SELECT * FROM people");
$sth->setFetchMode(PDO::FETCH_CLASS, 'Person');
$person = $sth->fetch();
$person->tell();
$sth->setFetchMode(PDO::FETCH_CLASS|PDO::FETCH_PROPS_LATE, 'Person');
$person = $sth->fetch();
$person->tell();
?>
Yukarıdaki örnek şuna benzer bir çıktı üretir:
Ben Ali.
Ben Ali.
Henüz adım yok.
Ben Veli.