Anomalie #4093
fermé[autoloader] l'autoloader ne doit pas permettre plusieurs classes avec le même nom
100%
Loguer l'incohérence dans le fichier log (error_log) et dans le log dynacase.
Ne pas abandonner la création de l'index.
Vérifier la possibilité de lever une exception. cela ne doit pas interdire la mise à jour en cas de renommage ou autre opération de migration.
Attention, l'erreur doit être explicitement rapportée à l'utilisateur, car dans le cas contraire, on reporte à plus tard l'affichage d'une erreur déjà détectée. La génération de l'index doit se terminer avec un statut d'echec, et même si cet échec peut ne pas être bloquant dans certains cas, cela doit être affiché.
Description
lorsque l'autoloader construit son fichier de cache, s'il rencontre plusieurs fois la même classe, la dernière déclaration rencontrée écrase les précédentes.
cela devrait plutôt lever une erreur (une exception), car le comportement résultant est alors inattendu
Mis à jour par Éric Brison il y a presque 13 ans
- Statut changé de À analyser à Analysé
- Solution proposée mis à jour (diff)
Mis à jour par Éric Brison il y a presque 13 ans
- Assigné à changé de Éric Brison à Nicolas Thing-Leoh
Mis à jour par Nicolas Thing-Leoh il y a presque 13 ans
- Statut changé de Analysé à Assigné
Mis à jour par Jérôme Augé il y a presque 13 ans
Est-ce qu'il faut aller jusqu'à avoir une notion d'ordre d'indéxation de l'autoloader (ou un autre mécanisme) ? Par ex. : d'abord indexer les fichiers de dynacase-core, puis les autres ? Pour éviter qu'un fichier définissant une classe `Doc` tierce ne soit indexé avant notre classe `Doc` ce qui rendrait le système inutilisable même si l'incohérence est loggée ?
Mis à jour par Charles Bonnissent il y a presque 13 ans
NON, si jamais une classe est dupliquée le fonctionnement de Dynacase ne peut pas être garanti et ce d'aucune manière.
Si jamais, cet état de fait arrive, la plateforme doit s'arrêter de manière à ne pas corrompre des informations et ne pas continuer son exécution.
La possibilité de créer des doublons dans les noms de classes ne doit pas être envisagée.
Mis à jour par Éric Brison il y a presque 13 ans
- Statut changé de Assigné à Intégré
Appliqué par commit commit:13baeab3fa54468d5bbd1ba993aee3f9909ae7cf.