Définir la classe d'une variable dans un commentaire [Résolu/Fermé]

Signaler
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
-
alexdu17200
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
-
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

Messages postés
1158
Date d'inscription
samedi 17 mai 2008
Statut
Membre
Dernière intervention
6 mars 2016
187
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
alexdu17200
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
596
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..
Messages postés
2379
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
421
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
alexdu17200
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
596
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^^
Pitet
Messages postés
2379
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
421
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
alexdu17200
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
596
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.
Pitet
Messages postés
2379
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
421
Effectivement on peut obtenir l’auto-complétion d'une variable dynamique via le commentaire suivant :
/* @var $myClassObject myClassName */ 
alexdu17200
Messages postés
1322
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
7 mars 2016
596
Parfait ça!! Merci c'est exactement ce que je cherchais! Merci à toi :)