Bah j'ai trouvé une utilité à cette fonctionalité, après, j'aurais pu faire autrement.
J'ai deux classe
la classe parent et la classe enfant
pour chaque classe, les properties correspondent aux colonnes d'une table
pour en fant : id_enfant,id_parent, mode,prop1,prop2,etc..
pour parent : id_parent, mode,propbis1,propbis2 ...
Je souhaite affecter à la classe enfant les propriétés de son parent.
function affecte_properties_parent()
{
parent::__construct($id_parent);
}
C'est la première solution, mais là je me dis pour peu que les colonnes aient des noms qui correspondent et qui ont des valeurs que ne signifient pas la meme chose, y a un problème. Typiquement la property "mode" va recevoir comme valeur celle de la classe parente, ce qui m'ennuie car, les modes ne servent pas à la meme chose pour chaque classe.
Du coup j'ai la solution 2
function affecte_properties_parent()
{
$resultat=mysql_query("select * from parent where id_parent=$this->id_parent");
$recapitulatif=mysql_fetrch_assoc($resultat);
foreach($recapitulatif as $id=>$valeur)
{
if(!(isset($this->$id))
$this->$id=$valeur;
}
mysql_free_result($resultat);
}
là c'est mieux, si la property est déjà définie alors on ne prend pas celle de la classe parente.
Oui mais en fait j'ai besoin des deux modes par exemple, la ca ne va plus non plus car je n'aurait pas le mode de la classe parent
function affecte_properties_parent()
{
$resultat=mysql_query("select * from parent where id_parent=$this->id_parent");
$recapitulatif=mysql_fetrch_assoc($resultat);
foreach($recapitulatif as $id=>$valeur)
{
if(!(isset($this->{$id.'_parent'}))
$this->{$id.'_parent'} = $valeur;
}
mysql_free_result($resultat);
}
La du coup je peux utiliser les deux modes
Grace à $enfant->mode et $enfant->mode_parent
Bah j'ai trouvé une utilité à cette fonctionalité, après, j'aurais pu faire autrement.
J'ai deux classe
la classe parent et la classe enfant
pour chaque classe, les properties correspondent aux colonnes d'une table
pour en fant : id_enfant,id_parent, mode,prop1,prop2,etc..
pour parent : id_parent, mode,propbis1,propbis2 ...
Je souhaite affecter à la classe enfant les propriétés de son parent.
[php]function affecte_properties_parent()
{
parent::__construct($id_parent);
}[/php]
C'est la première solution, mais là je me dis pour peu que les colonnes aient des noms qui correspondent et qui ont des valeurs que ne signifient pas la meme chose, y a un problème. Typiquement la property "mode" va recevoir comme valeur celle de la classe parente, ce qui m'ennuie car, les modes ne servent pas à la meme chose pour chaque classe.
Du coup j'ai la solution 2
[php]function affecte_properties_parent()
{
$resultat=mysql_query("select * from parent where id_parent=$this->id_parent");
$recapitulatif=mysql_fetrch_assoc($resultat);
foreach($recapitulatif as $id=>$valeur)
{
if(!(isset($this->$id))
$this->$id=$valeur;
}
mysql_free_result($resultat);
}[/php]
là c'est mieux, si la property est déjà définie alors on ne prend pas celle de la classe parente.
Oui mais en fait j'ai besoin des deux modes par exemple, la ca ne va plus non plus car je n'aurait pas le mode de la classe parent[php]function affecte_properties_parent()
{
$resultat=mysql_query("select * from parent where id_parent=$this->id_parent");
$recapitulatif=mysql_fetrch_assoc($resultat);
foreach($recapitulatif as $id=>$valeur)
{
if(!(isset($this->{$id.'_parent'}))
$this->{$id.'_parent'} = $valeur;
}
mysql_free_result($resultat);
}[/php]
La du coup je peux utiliser les deux modes
Grace à $enfant->mode et $enfant->mode_parent