Fonction objet_trouver_parent() : utilisation du pipeline objet_trouver_parent
Dans la fonction objet_trouver_parent() le code est le suivant:
$parent = false;
// Si on trouve une ou des méthodes de parent
if ($parent_methodes = type_objet_info_parent($objet)) {
...bla bla...
// On lance la requête
if ($ligne = sql_fetsel($select, $table, $where)) {
// Si le type est fixe
if (isset($parent_methode['type'])) {
return array(
'objet' => $parent_methode['type'],
'id_objet' => intval($ligne[$parent_methode['champ']]),
'champ' => $parent_methode['champ'],
);
}
elseif (isset($parent_methode['champ_type'])) {
return array(
'objet' => $ligne[$parent_methode['champ_type']],
'id_objet' => intval($ligne[$parent_methode['champ']]),
'champ' => $parent_methode['champ'],
'champ_type' => $parent_methode['champ_type'],
);
}
}
}
}
// On passe par un pipeline avant de retourner
$parent = pipeline(
'objet_trouver_parent',
array(
'args' => array(
'objet' => $objet,
'id_objet' => $id_objet,
),
'data' => $parent,
)
);
return $parent;
Donc si l'objet en question possède une configuration de parenté, alors on sortira probablement via l'un des return inclus dans le if ($ligne...
et donc on ne passera jamais dans le pipeline.
Est-ce voulu que l'on passe dans ce pipeline uniquement si aucun parent n'a été trouvé ou si aucune configuration de parenté existe ? Si oui, le code est ok, si non il faut remplacer les return par des affectations et un break pour sortir de la boucle.