Frage

Ist es möglich, Lehre auf bestehende Einheit Modell zu verwenden wie:

class user{
protected $_id;
protected $_name;

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

oder zu erzeugen oder zu verwenden Modelle mit hartcodierte Getter und Setter.

ich nicht verwenden möchten

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

kann dies mit Lehre getan werden?

Thanx

War es hilfreich?

Lösung

Für alle Versionen bis Lehre 1.2: Ihre Einheit Modell Klasse Bedürfnisse der Doctrine_Record Klasse erweitern.

Die Definition der Modellfelder muss die „Lehre Art und Weise“ zu erfolgen. Siehe: http://www.doctrine-project.org/ Dokumentation / manual / 1_2 / en / definieren-Modelle

Beispiel:

  

public function setTableDefinition ()      {

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

}

Wenn Sie Ihre eigenen hart codierte Setter / Getter verwenden möchten, können Sie die Magie Getter / Setter außer Kraft setzen. Siehe: http: //www.doctrine-project. org / Dokumentation / manual / 1_2 / en / Einführung-to-Modelle Beispiel:

  

class User erweitert BaseUser {

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

}

Eine letzte Bemerkung / Frage:. Mit den magischen Setter / Getter-Methoden ist eine gute Praxis .. Sie sollten nur benutzerdefinierte Methoden verwenden, wenn Sie die Daten in irgendeiner Weise zu manipulieren, müssen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top