Définir la classe d'une variable dans un commentaire

Résolu/Fermé
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 - Modifié par alexdu17200 le 1/03/2016 à 20:55
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 - 7 mars 2016 à 21:18
Bonsoir à tous, voilà mon besoin, en PHP, je sais que l'on peut dire qu'une variable est de telle classe, surtout, ce que je recherche c'est une déclaration en commentaire. (et pas celle-ci désolé^^
/** @param Laclassemaman $var*/
)

Çà m'aiderait bien dans le cas de nom de classe calculé
$var = new $maClasse($id)

Je voudrais sur çà lui dire sous forme de commentaire, que $maClasse c'est une instance de Laclassemaman (qui est étendue sur différentes sous-classes, dont ma $maClasse) et du coup, récupérer la complétion des noms de méthodes etc..

Merci à ceux qui m'avanceront sur point!

2 réponses

Mimiste Messages postés 1149 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 6 mars 2016 206
2 mars 2016 à 09:55
Bonjour

Pourquoi pas cette notation là ? (/** @param Laclassemaman $var*/)

Après c'est pas vraiment un problème de PHP mais surtout de l'éditeur que tu utilise
0
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 835
2 mars 2016 à 13:30
Oui, oui, pour NetBeans, après, tu vois c'est juste le temps de rédiger quoi, après j'ai pas besoin que çà reste finalement. Et dans un cas hors d'une méthode du coup, je peux pas fournir de doc quoi.
C'est pas un "problème" c'est certain, c'est juste que je l'ai utilisé avant, mais je suis infoutu de retrouver aujourd'hui..
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
2 mars 2016 à 14:07
Salut,

Pour la complétion de code sur Netbeans, il n'y a normalement pas besoin de commentaire. Il suffit que tes classes soit définies dans le projet (pas forcément dans le même fichier) : http://hpics.li/561d470

Bonne journée
0
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 835
Modifié par alexdu17200 le 3/03/2016 à 08:28
Salut, justement le pourquoi de ma requête c' est que le nom de ma classe je le calcule, c'est à dire que je vais avoir un switch sur un paramètre qui va me retourner ça par exemple
$className = "ClasseNum1"
Et au moment du New $className il va pas pouvoir me donner les méthodes derrière vu que pour lui elle n'a pas de type (ni ClasseNum1 ni ClasseMaman) quoi.

Je ne sais pas si je suis assez clair, j'ai tendance à embrouiller beaucoup de monde avec mes explications^^
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
4 mars 2016 à 16:55
Dans ce cas effectivement Netbeans ne peut pas déterminer le nom de la classe puisque celui-ci est défini à l'exécution du script.

La solution que je puisse te proposer est d'instancier l'objet avec le nom réel de la classe le temps du développement afin d'avoir accès à la complétion, puis de supprimer ou commenter cette instanciation. Par exemple :
$className = "ClasseNum1";
$m = new $className(); // pas accès à la complétion ici

$m = new ClasseNum1(); // permet d'avoir accès à la complétion, à supprimer/commenter ensuite
0
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 835
5 mars 2016 à 19:46
Salut Pitet, merci bien de tes réponses :), justement, j'utilise déjà çà pour avoir l'autocomplétion.
Je suis certain qu'il existe une méthode pour définir çà entre "/* */" ou "/** */" qu'on peut faire à l'intérieur d'une fonction (je le mettais en toute 1ère ligne de la déclaration justement. C'est con, je m'en souviens pas.. Après c'est loin d'être bloquant hein.
Ce que tu proposes, c'est très bien, çà fait le job, c'est ce qu'on demande. Je cherche quand même mon alternative, juste pour ma culture finalement.
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 526
7 mars 2016 à 09:22
Effectivement on peut obtenir l’auto-complétion d'une variable dynamique via le commentaire suivant :
/* @var $myClassObject myClassName */ 
1
alexdu17200 Messages postés 1302 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 7 mars 2016 835
7 mars 2016 à 21:18
Parfait ça!! Merci c'est exactement ce que je cherchais! Merci à toi :)
0