Question étendue: Pourquoi utiliser data mapper/Db_Table_Row, où DbTable est capable de gérer la plupart des tâches de base pour la manipulation des données.Zend framework - Pourquoi utiliser data mapper/Db_Table_Row?
Je suis en train d'apprendre ZF v1.11
Pour la manipulation de base de données, j'ai créé DbTable pour chaque table. Par exemple, la table "users" est représentée par Application_Model_DbTable_Users sans codes supplémentaires.
Lorsque la manipulation de données, je peux utiliser:
<?php
$uTable = new Application_Model_DbTable_Users();
$newUid = $uTable->insert(array('name'=>'Old Name', 'email'=>''));
$user = $uTable->find($newUid)->current();
// Then I can use $user which is instance of Table_Row
$user->name = "New Name";
$user->email = "[email protected]";
$user->save();
Ma question est, quand aurais-je besoin de définir une classe de ligne (en supposant Table_Row est désigné comme DataMapper dans ZF-Tutoriels)
// By, adding this to the DbTable class
protected $_rowClass = 'Application_Model_User';
Quels sont les avantages d'avoir une classe Row pour chaque entité? Quelqu'un peut-il me signaler les meilleures pratiques pour cela.
http://stackoverflow.com/questions/373054/ - donne une idée que l'envoi de courrier électronique ou la modification d'une logique de mot de passe peut être implémentée dans la classe Table Row, qui est spécifique à l'utilisateur. –