Pourquoi limiter une nouvelle API à *UN* parent ?
Je mets le nez ici pour la première fois et paf le chien : mes objets ont plusieurs parents.
Et je reste interloqué : bien que le cas mono-parent soit le cas usuel le plus répandu, pourquoi introduire une nouvelle API en la limitant par principe au cas 1 parent, sans possibilité de gérer du multi-parents ?
Il faudrait que la fonction objet_trouver_parent()
https://git.spip.net/spip-contrib-extensions/declarerparent/src/branch/master/base/objets_parents.php#L31
ait la même signature en retour que la fonction objet_trouver_enfants()
https://git.spip.net/spip-contrib-extensions/declarerparent/src/branch/master/base/objets_parents.php#L156
pour ne pas insulter l'avenir ni casser tout le code dans la nature.
Je vois une façon simple de faire évoluer le code sans trop casser :
passer la fonction objet_trouver_parents()
au pluriel en changeant sa signature, et garder une fonction fallback objet_trouver_parent()
au singulier qui retourne le premier element de la fonction objet_trouver_parents()
Reste à voir comment gérer le pipeline.
Je penser qu'on peut faire pareil :
- renommer le pipeline
objet_trouver_parent
au plurielobjet_trouver_parents
pour permettre de declarer plusieurs parents dans le pipeline, mais garder l'ancien pipeline au singulier en deprecated et continuer à l'appeler aussi pour ne pas casser le code qui l'utilise