2010-06-07 5 views
2

Depuis quelques jours maintenant, j'utilise NetBeans 6.8 pour faire du travail PHP. Mais même si un fichier de classe est inclus et que les méthodes sont publiques et que phpDoc est utilisé, NetBeans everytime affiche "No Suggestions" dans la fenêtre."Aucune suggestion" dans NetBeans

E.g. Type I

$user-> 

et appuyez sur CTRL + Espace, j'attends toutes les méthodes et variables, mais il n'y a pas montré tout. des idées?

+0

Utilisez-vous un projet NetBeans ou simplement parcourez-vous des fichiers? NetBeans analysera votre projet si vous en avez créé un, mais ne traitera pas seulement les fichiers généraux, même s'ils sont inclus, je crois. –

+0

Je l'utilise pour un projet entier mais je n'utilise pas le débogage (Zend, xdebug) c'est peut-être à cause de ça? – MorbZ

+0

J'ai trouvé le problème un peu plus précisément, s'il vous plaît voir ma nouvelle question pour cela: http://stackoverflow.com/questions/2996711/how-to-get-suggestions-in-netbeans-for-included-files – MorbZ

Répondre

3
$foo = new Bar(); 

Lorsque ctrl cliquez sur la barre (ou clic droit -> Aller à la définition), vous devez suivre la classe de bar.
Pour le __construct() pour être précis.

Si netbeans effectue un saut, cela signifie qu'il ne sait pas où la classe Bar est définie.
$ foo->ctrl+space serait alors dire "Aucune suggestion"

Dans votre cas:

$user = new User(); 
$user-> 

Si l'utilisateur $ est un paramètre:

/** 
* @param User $user 
*/ 
function myFunction($user) { 
    $user-> 

vérifier que vous avez /** et pas seulement /*

Si $ utilisateur est récupéré via une fonction tion:

/** 
    * @return User 
    */ 
    function getUser() { 
    // impl 
    } 
    $user = getUser(); 
    $user-> 
+0

Il ne fonctionne pas pour les fichiers inclus, s'il vous plaît voir ma nouvelle question pour cela: http://stackoverflow.com/questions/2996711/how-to-get-suggestions-in-netbeans-for-included-files – MorbZ

2

Assurez-vous que les NetBeans savent ce qui est stocké dans $user. Chaque méthode doit avoir une annotation @return correcte avec un nom/tableau scalaire ou un nom de classe.

Si la classe est nommé utilisateur, votre getter utilisateur doit ressembler à

/** 
@return User 
*/ 
function getUser() { 
    //some code 
    return $user; //instance of User 
} 
+0

I essayé avec @return, mais il n'a pas eu d'effet, il semble que NetBeans ignore simplement les classes d'autres fichiers, car en outre, il n'y a pas de Variables. – MorbZ

+1

vous semblez parler des docs; Je crois que le problème n'est pas qu'il n'y a pas de docs, mais que NetBeans ne peut pas trouver les méthodes. –

Questions connexes