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 pluriel objet_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