Anomalie #4713
fermé[autoloader] l'autoloader ne gère pas correctement les traits
100%
Ajout du test conditionel sur trait_exists
if (!class_exists($className, false) && !interface_exists($className, false)) {
if (function_exists("trait_exists") && trait_exists($className, false)) {
return true;
}
return false;
}
Share/classAutoloader.php
Description
suite à #4605, les traits sont correctement indexés et mis en cache.
cependant, la ligne https://github.com/Anakeen/dynacase-core/blob/aea4395d2821836063a8938b4b1165daa4ccb588/Share/classAutoloader.php#L531 (if (!class_exists($className, false) && !interface_exists($className, false)) {) ne tient pas compte des traits ainsi chargés, ce qui force une nouvelle indexation des classes, et ne lève pas d'erreur, puisque le trait est correctement chargé. cependant, cela induit des latences de l'ordre de plusieurs secondes lors de l'utilisation des traits avec l'autoloader.
Mis à jour par Marc Claverie il y a environ 12 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
Mis à jour par Éric Brison il y a presque 12 ans
- Solution proposée mis à jour (diff)
- Statut changé de À analyser à Analysé
- Assigné à
Éric Brisonsupprimé - Temps estimé mis à 1:00 h
Mis à jour par Éric Brison il y a presque 12 ans
- Statut changé de Analysé à Intégré
- % réalisé changé de 0 à 100
- Temps estimé
1:00 hsupprimé
Appliqué par commit dynacase-core|commit:6b1744131074f7a222d38258cb5b378236711799.