Anomalie #4605
ferméL'Autoloader ne gére pas les Traits.
100%
Ajouter un test pour le define (cas PHP 5.3)
if (! defined("T_TRAIT")) define("T_TRAIT", 355);
Puis ajouter le test sur le token : méthode ClassHunterForPHP5_3::find()if ($token[0] === T_INTERFACE || $token[0] === T_CLASS || $token[0] === T_TRAIT) {
Description
Lorsqu'on utilise un trait, nous obtenons l'erreur suivante par exemple :
PHP Fatal error: Trait 'GPersonnels\Family\WF\Demande\Type\RenouvellementPeriodeProbatoire' not found in /var/www/dynacase/lagon/LAGON_GPERSONNELS/Families/DEMANDE_RENOUVELLEMENT_PERIODE_PROBATOIRE_VS_WF_CLASS.php on line 14
PHP Stack trace:
PHP 1. {main}() /var/www/dynacase/lagon/wsh.php:0
PHP 2. include() /var/www/dynacase/lagon/wsh.php:136
PHP 3. ImportDocument->importDocuments() /var/www/dynacase/lagon/API/importDocuments.php:150
PHP 4. ImportDocument->importSingleFile() /var/www/dynacase/lagon/FDL/Class.importDocument.php:132
PHP 5. importDocumentDescription->import() /var/www/dynacase/lagon/FDL/Class.importDocument.php:153
PHP 6. importDocumentDescription->doClass() /var/www/dynacase/lagon/FDL/Class.ImportDescription.php:379
PHP 7. CheckClass->check() /var/www/dynacase/lagon/FDL/Class.ImportDescription.php:1081
PHP 8. CheckClass->checkInherit() /var/www/dynacase/lagon/FDL/CheckClass.php:35
PHP 9. ReflectionClass->__construct() /var/www/dynacase/lagon/FDL/CheckClass.php:85
PHP 10. Dcp\DirectoriesAutoloader->autoload() /var/www/dynacase/lagon/FDL/CheckClass.php:0
PHP 11. Dcp\DirectoriesAutoloader->_loadClass() /var/www/dynacase/lagon/WHAT/classAutoloader.php:362
PHP 12. require_once() /var/www/dynacase/lagon/WHAT/classAutoloader.php:530
Si on modifie la ligne 86 du fichier classAutoloader.php
if ($token[0] === T_INTERFACE || $token[0] === T_CLASS) {
en
if ($token[0] === T_INTERFACE || $token[0] === T_CLASS || $token[0] === T_TRAIT) {
cela fonctionne.