Conflit entre une class et un getter
Posté : 13 oct. 2011, 08:27
Salut à tous
Sauriez-vous ce qui pourrait provoquer un conflit entre une classe et un getter de cette classe portant le même nom ?
J'ai une classe Categorie qui possède un getter categorie(), si je laisse en l'état le nom du getter, les attributs de mon objet Categorie prennent pour valeurs null
Ils sont donc écrasés quelque part.
J'aimerais donc comprendre pourquoi.
Les parties concernées de mes classes.
Sauriez-vous ce qui pourrait provoquer un conflit entre une classe et un getter de cette classe portant le même nom ?
J'ai une classe Categorie qui possède un getter categorie(), si je laisse en l'état le nom du getter, les attributs de mon objet Categorie prennent pour valeurs null
Ils sont donc écrasés quelque part.
J'aimerais donc comprendre pourquoi.
Les parties concernées de mes classes.
class Categorie extends Recorder
{
protected $id;
protected $categorie;
public function setId($id)
{
$this->id = (int)$id;
}
public function setCategorie($categorie)
{
$this->categorie = (string)$categorie;
}
public function id()
{
return $this->id;
}
public function categorie()
{
return $this->categorie;
}
Recorder :abstract class Recorder implements ArrayAccess
{
protected static $templates = array();
protected $templatePrefix;
protected $template;
protected $values;
public function __construct(array $values, $templatePrefix = '')
{
//pre($values);
$this->values = $values;
$this->templatePrefix = $templatePrefix;
$this->hydrate();
$this->setTemplate();
$this->template = self::$templates[$this->templatePrefix . strtolower(get_class($this))];
}
private function hydrate()
{
foreach( $this->values as $attribut => $value)
{
$method = 'set'. ucwords($attribut);
if( method_exists($this, $method) )
{
$this->$method($value);
}
}
}