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.