Ben bazı basit veritabanı modelleri için uygun tasarımı ile küçük bir sorun var. I alıcı / ayarlayıcıları ve bir okuma yöntemi ile bir kullanıcı nesnesi var diyelim. Veritabanını querys okuyun ve özelliklerini ayarlar.
class User extends MyDbBaseClass
{
protected $_id;
protected $_name;
public function setId($id)
{
$this->_id = $id;
}
public function setName($name)
{
$this->_name = $name;
}
public function getId()
{
return (int) $this->_id;
}
public function getName()
{
return (string) $this->_name;
}
public function read($id)
{
// fetch ONE record from Database
$this->_id = $this->setId($sqlResult['id');
$this->_name = $this->setName($sqlResult['name']);
}
public function save()
{
// do some sql stuff to save user to database
}
}
Benim Problem birden fazla kullanıcı geri dönmek için nasıl, nedir?
public function getCollection()
{
// fetch all user records from database
forearch ($sqlResult as $result) {
// ... no idea..
}
}
Hedef:
// works
$u = new User();
$u->read(1);
echo $u->getName();
// dont know the best way
$u = new User();
$uC = $u->getCollection();
foreach ($uC as $u)
{
echo $u->getName();
}
Bunun için en iyi yöntemler?