Projet

Général

Profil

Actions

Anomalie #4532

fermé

Impossible d'utiliser des Fully Qualified Class Name pour l'appel d'une méthode statique d'une classe pour une valeur par défaut

Ajouté par Emmanuel ESCOLA il y a environ 12 ans. Mis à jour il y a environ 12 ans.

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

100%

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

Étendre la syntaxe du check pour accepter les namespaces.

Vérifier aussi pour les attributs calculés.

Ajouter test dans le PU pour couvrir ces cas.

Principaux fichiers impactés:
Complexité:
Contrôle:
Thème:
Régression:

Description

Testé en 3.2.13

Si dans un fichier on déclare par exemple :

DEFAULT;attr_test;::myFunction();;;;;;;;;;;;;

Il n'y a pas de problème si la méthode myFunction est déclarée dans la Classe associée.

Par contre, si on essaie de faire appel à une méthode déclarée dans une autre classe qui utilise un namespace, on ne peut pas donner le FQCN de la classe dans le fichier, par exemple :

DEFAULT;attr_test;Toto\Test\MyClass::myFunction();;;;;;;;;;;;;

lève l'erreur suivante :

ERROR:{ATTR1250} syntax error in method call (phpfunc) for attribute "attr_test" : {ATTR1253} syntax error in class name in method call: "Toto\Test\MyClass" 

Cela vient du fait que lors du parse du nom de la classe on fait appel à la méthode isPHPName() de la classe FDL/parseFamilyFunction qui retourne le preg_match suivant :

return preg_match('/^[a-z_][a-z0-9_]*$/i', $s);

Ce qui ne permet pas d'utiliser le caractère "\" pour un nom de classe.


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

Copié vers Core - Anomalie #4534: [report #4532] Impossible d'utiliser des Fully Qualified Class Name pour l'appel d'une méthode statique d'une classe pour une valeur par défautFerméÉric Brison17/02/2014

Actions
Actions

Formats disponibles : Atom PDF