De son coté, la fonction de chargement du formulaire instituer_objet peut renvoyer comme valeurs (variable $valeurs) soit un tableau chargé, soi un tableau vide soit false en cas d’erreur ou d’absence de statut.
En fait, j’aurais plutôt pensé que l’appel du pipeline et de la suite du traitement ne soit fait que si la variable $valeurs ne désigne pas une erreur, donc en excluant le cas false. Sinon, on fait reposer sur tous les traitements spécifiques le fait d’écarter les erreurs.
Donc, dans une prochaine version, ne serait-il pas souhaitable réserver la valeur false aux erreurs et de ne pas appeler le pipeline dans ce cas ?
Oui si tu prends le cas du formulaire instituer il fait le test suivant:
if (!isset($desc['statut_textes_instituer'])) {
return false;
}
Donc dans ce cas tu sors avec non pas un tableau de valeurs mais un boolean à false. Dans ce cas, il n’y a aucun intérêt à appeler le pipeline formulaire_charger à mon avis ni à continuer le traitement. On pourrait donc réserver cette valeur false pour dire ne pas continuer ce qui éviterait de s’en préoccuper dans chaque personnalisation du pipeline.
Là on ne parle pas d’un formulaire particulier (qui n’est donné qu’en exemple) mais de la fonction qui gère l’ensemble. Or il me semble un peu présomptueux de pouvoir deviner d’avance tous les mille cas possibles de CVT. Peut-être que pour ce formulaire-ci en particulier ça n’a pas de sens de continuer du tout (et encore j’ai pas réfléchi en détail), mais c’est à peu près certain qu’il y a plein de cas où même si le formulaire d’origine n’a rien à faire « pour l’instant », ça n’empêche en rien que des plugins en pipelines pourraient avoir envie ou besoin de relancer la machine parce que eux veulent ajouter des champs ou des actions à faire.
Absolument, je ne dis pas le contraire. Je dis juste que ce serait pas mal de normaliser le comportement.
Sans vouloir limiter les possibilités, le formulaire charger est censé renvoyer un tableau de valeurs. A partir de là imposer que la valeur false indique une erreur et donc un arrêt de traitement me parait pas une limitation mais plus une normalisation de l’interface.
Il reste toujours le tableau vide pour continuer sans retourner de valeurs.
Mouais, j’ai peur des ruptures. Mon avis c’est que si on met un pipeline c’est qu’on veut pouvoir contourner le comportement par défaut. Et donc un comportement qui dirait « je veux jamais de pipeline » me parait un peu gênant.
Voui c’était un peu mon propos aussi : ce n’est pas aux fonctions d’origine de pouvoir affirmer si c’est utile ou pas de continuer : ce sont aux sous-plugins qui utilisent les pipelines de décider s’ils ajoutent des choses ou pas, quelque soit les cas.
Ca peut mais je pense que c’est peu probable.
Mais franchement on va pas se faire des noeuds au cerveau pour ça, on va fermer le fil et oublier la proposition.
Ce pipeline permet donc d’ouvrir à d’autres possibles… y compris des univers parallèles dont on ignore la loi de probabilité.
Mais OK pour « pas se faire des noeuds au cerveau pour ça » car ya assez de soucis dans cet univers ci.