Projet

Général

Profil

Anomalie #4713

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

Ajouté par Matthieu Codron il y a plus de 7 ans. Mis à jour il y a environ 7 ans.

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

100%

Temps estimé:
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:
Non
Jalons:

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

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

Historique

#1 Mis à jour par Marc Claverie il y a plus de 7 ans

  • Version cible mis à 3.2.15

#2 Mis à jour par Matthieu Codron il y a plus de 7 ans

  • Solution proposée mis à jour (diff)

#3 Mis à jour par Marc Claverie il y a plus de 7 ans

  • Statut changé de Nouveau à À analyser
  • Assigné à mis à Éric Brison

#4 Mis à jour par Éric Brison il y a environ 7 ans

  • Solution proposée mis à jour (diff)
  • Statut changé de À analyser à Analysé
  • Assigné à Éric Brison supprimé

#5 Mis à jour par Éric Brison il y a environ 7 ans

  • Statut changé de Analysé à Intégré
  • % réalisé changé de 0 à 100

Appliqué par commit dynacase-core|commit:6b1744131074f7a222d38258cb5b378236711799.

Formats disponibles : Atom PDF