Alors, laisse dire que j'ai un dossier:Mise à jour des données par le biais d'objets
$record = new Record();
et permet de dire que j'attribue des données à cet enregistrement:
$record->setName("SomeBobJoePerson");
Comment puis-je obtenir cela dans la base de données. Est-ce que je ...
A) Demandez au module de le faire.
class Record{
public function __construct(DatabaseConnection $database)
{
$this->database = $database;
}
public function setName($name)
{
$this->database->query("query stuff here");
$this->name = $name;
}
}
B) Courez à travers les modules à la fin du script
class Record{
private $changed = false;
public function __construct(array $data=array())
{
$this->data = $data;
}
public function setName($name)
{
$this->data['name'] = $name;
$this->changed = true;
}
public function isChanged()
{
return $this->changed;
}
public function toArray()
{
return $this->array;
}
}
class Updater
{
public function update(array $records)
{
foreach($records as $record)
{
if($record->isChanged())
{
$this->updateRecord($record->toArray());
}
}
}
public function updateRecord(){ // updates stuff
}
}