Domanda

E 'possibile utilizzare la dottrina su modelli di entità esistenti come:

class user{
protected $_id;
protected $_name;

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

o di generare o utilizzare modelli con getter hard-coded e setter.

Non voglio usare

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

questo può essere fatto con la dottrina?

Grazie

È stato utile?

Soluzione

Per tutte le versioni fino a Doctrine 1.2: La classe modelli di entità deve estendere la classe Doctrine_Record.

La definizione dei campi del modello deve essere fatto "via dottrina" troppo. Vedere: http://www.doctrine-project.org/ documentazione / manuale / 1_2 / it / definire modelli

Esempio:

  

Funzione pubblica setTableDefinition ()      {

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

}

Se si desidera utilizzare il proprio setter personalizzati codificati duro / Getters è possibile ignorare i magici getter / setter. Vedere: http: //www.doctrine-project. / 1_2 / modelli introduzione-to-it / org / documentazione / manuali Esempio:

  

estende la classe utente BaseUser {

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

}

Un'ultima osservazione / domanda:. Usando i metodi setter / getter magia è buona pratica .. Si consiglia di utilizzare solo metodi personalizzati, se avete bisogno di manipolare i dati in qualche modo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top