Zend Framework y la doctrina (captadores y definidores)
-
20-09-2019 - |
Pregunta
¿Es posible utilizar la doctrina de los modelos existentes de entidades como:
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 para generar o modelos de uso con getters codificados de forma rígida y definidores.
No quiero utilizar
$user->name
$user['name']
$user->get('name')
se puede hacer esto con la doctrina?
Gracias
Solución
Para todas las versiones hasta la Doctrina 1.2: La clase de modelos entidad necesita extender la clase Doctrine_Record.
La definición de los campos del modelo que hay que hacer el "camino doctrina" también. Ver: http://www.doctrine-project.org/ documentación / manual / 1_2 / es / definir modelos
ejemplo:
Función pública setTableDefinition () {
$this->hasColumn('username', 'string', 255); $this->hasColumn('password', 'string', 255);
}
Si desea utilizar sus propios emisores de costumbre no modificable / getters puede anular los getters / setters mágicos. Ver: http: //www.doctrine-project. org / documentación / manual / 1_2 / modelos introducción-a-es / ejemplo:
User clase extiende BaseUser {
public function setPassword($password) { return $this->_set('password', md5($password)); }
}
Una última observación / pregunta:. El uso de los métodos setter / getter magia es una buena práctica .. Sólo debe utilizar métodos personalizados, si es necesario manipular los datos de alguna manera