Question

Est-il possible d'utiliser la doctrine sur les modèles d'entités existantes comme:

class user{
protected $_id;
protected $_name;

public function set_id($_id){}
public function get_id(){}
public function set_name($_name){}
public function get_name(){}
}

ou pour générer ou utiliser des modèles avec des accesseurs codés en dur.

Je ne veux pas utiliser

$user->name
$user['name'] 
$user->get('name')

cela peut être fait avec la doctrine?

Thanx

Était-ce utile?

La solution

Pour toutes les versions jusqu'à Doctrine 1.2: a besoin de votre modèle d'entité classe pour étendre la classe Doctrine_Record.

La définition des champs du modèle doit être fait la « voie de doctrine » aussi. Voir: http://www.doctrine-project.org/ documentation / manuel / 1_2 / fr / définitoires modèles

exemple:

  

fonction publique setTableDefinition ()      {

   $this->hasColumn('username', 'string', 255);
   $this->hasColumn('password', 'string', 255);
     

}

Si vous souhaitez utiliser vos propres setters / getters codés sur mesure dur, vous pouvez remplacer la magie getters / setters. Voir: http: //www.doctrine-project. org / documentation / manuel / en / 1_2 / mise-à-modèles exemple:

  

class utilisateur {étend BaseUser

public function setPassword($password)
{
    return $this->_set('password', md5($password));
} 
     

}

Une dernière remarque / question. En utilisant les méthodes setter / getter magie est une bonne pratique .. Vous ne devez utiliser des méthodes personnalisées, si vous avez besoin de manipuler les données d'une certaine façon

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top