Projet

Général

Profil

Actions

Anomalie #4713

fermé

[autoloader] l'autoloader ne gère pas correctement les traits

Ajouté par Matthieu Codron il y a environ 12 ans. Mis à jour il y a presque 12 ans.

Statut:
Intégré
Priorité:
Normal
Assigné à:
-
Version cible:
Début:
16/04/2014
Echéance:
% réalisé:

100%

Temps estimé:
1:00 h
Version source:
Solution proposée:

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;
}

Principaux fichiers impactés:

Share/classAutoloader.php

Complexité:
Contrôle:
Thème:
Socle technique
Régression:

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.


Demandes liées 1 (0 ouverte1 fermée)

Copié vers Core - Anomalie #4754: [autoloader] l'autoloader ne gère pas correctement les traitsIntégré16/04/2014

Actions
Actions

Formats disponibles : Atom PDF