J'ai une classe qui effectue des opérations de base de données et retourne des résultats (array, true, false). Et j'ai une autre classe qui crée une chaîne JSON en utilisant cette classe dans son constructeur. Peut-on dire que cette classe est un adaptateur? Ou tout simplement emballage ou ...PHP Design Pattern
Class Db
{
public function getRows($params)
{
//...
}
}
Class DbAdapter
{
private $_dbh;
public function __construct($dbh)
{
$this->_dbh = $dbh;
}
public function getJson()
{
return '{"key": "foo", "key2": ' . json_encode($this->_dbh->getRows($params)) . '}';
}
}
Merci
En fait, je l'ai d'abord pensé en tant que décorateur. Mais autant que je comprends le décorateur devrait ajouter de nouvelles méthodes/compétences à l'objet existant. Donc je ne pouvais pas décider. – jsonx
Eh bien le mince est IMO ceci ne devrait pas être appliqué à votre classe de DB directement indépendamment de si un son adapteur ou décorateur à moins qu'il soit juste un format de retour (DB :: ASSOC, DB :: JSON, DB :: OBJ, etc.). Sinon, l'endroit approprié pour cela est vraiment directement sur la classe qui Modélise les données dans le tableau que vous renvoyez de 'getRow' ou sur un décorateur qui enveloppe un tel objet modèle. – prodigitalson