Si vous souhaitez récupérer un nouvel objet d'une classe donnée, vous utilisez PDO::FETCH_CLASS
. Si toutefois vous souhaitez écrire des valeurs de propriété dans un objet existant que vous avez déjà, vous utilisez PDO::FETCH_INTO
, comme ceci :
$sth->setFetchMode(PDO::FETCH_INTO, $this);
$sth->execute();
$sth->fetch();
Notez que les propriétés dans lesquelles vous souhaitez écrire doivent être accessibles au public, soit directement, soit via un __set()
méthode magique.
Cependant, vous devriez examiner attentivement la réponse de @ Truth. Ce n'est pas une bonne conception d'avoir la même classe (et encore moins le même objet !) être responsable à la fois de l'accès à la base de données et de la représentation d'un enregistrement. Avoir une classe responsable de la gestion des enregistrements d'autorisation et une autre des enregistrements eux-mêmes.