Question

Juste curieux de savoir s'il y a un moyen de NetBeans pour donner des conseils de type pour les variables régulières, de sorte que IntelliSense ramasse. Je sais que vous pouvez le faire pour les propriétés de classe, les paramètres de la fonction, les types de retour, etc., mais je ne peux pas comprendre comment le faire pour les variables régulières. Il est quelque chose qui pourrait vraiment aider dans les situations où vous avez une méthode qui peut renvoyer différents types d'objets (comme un localisateur de service).

ex quelque chose comme:

/**
 * @var Some_Service $someService
 */
$someService = ServiceLocator::locate('someService');

Si l'aide someservice $ après, NetBeans fourniraient toutes les méthodes disponibles définies dans la Some_Service classe.

Était-ce utile?

La solution

Une seule ligne est tout ce que vous avez besoin:

/* @var $varName Type_Name */

Voir cet article dans le blog NetBeans PHP: https://blogs.oracle.com/ netbeansphp / entrée / defining_a_variable_type_in

  

Note: Au moins, dans la version 8.2; La clé semble être:

     
      
  • L'astérisque unique (/* au lieu de /**).
  •   
  • Placer le type après le nom de la variable.
  •   
  • N'ayant rien avant et après le type hinting   (À l'exception de l'espace blanc, mais même cela n'a pas le droit    lorsque le commentaire est pas dans une seule ligne).
  •   

Autres conseils

Je sais que cette question est plus, mais je cherchais une réponse similaire pour Eclipse / Zend Studio et cela résolu aussi.

** Notez cependant qu'il doit être sur une seule ligne avec l'ouverture et la fermeture explicitement dans ce style ...

/* @var $varName Type_Name */

Pas d'autres formats si ...

/**
 * @var $varName Type_Name
 */ 

ou ...

// @var $varName Type_Name

semblait fonctionner du tout. Hope qui aide quelqu'un.

Vous cherchez à documenter ces satanés magic les variables? (Je l'ai fait;. Cette question se classe actuellement bon résultat pour que Google J'espère que cela aide quelqu'un)

La balise @property vous permet de documenter magic variables php - celles mises en œuvre à l'aide __get() et __set(). L'étiquette doit être utilisé dans la documentation qui précède immédiatement la définition de la classe:

/**
 * Class Contact
 * @property string $firstName
 * @property string $lastName
 */
class Contact extends Model {
   ...

Cette notation déclenche autocomplete, testé dans Netbeans 8.1 et PhpStorm 2016,1.

 ici

Dans NetBeans 8.0.2, VDoc modèle vous donne ceci:

/* @var $variable type */

Netbeans ne reconnaît pas cela, cependant, et ne vous donnera pas la liste de saisie semi-automatique correct pour vos objets. Au lieu d'utiliser cela, juste avant votre déclaration de variable:

/** @var objectType $varName */

Je ne l'ai pas vraiment vu une grande utilité pour le stock VDoc Modèle, en particulier pour les variables de classe qui vont être utilisés comme objets AOP ou PDOStatement.

Une solution que j'utilise est en fait d'aller dans Outils / Options / Editeur / Modèles de code (avec PHP sélectionné comme langue), et ajouter un nouveau modèle. J'ai appelé moi indice . Puis, sous texte élargi, utilisez le modèle suivant:

/** @var ${VAR_TYPE variableFromNextAssignmentType default="ClassName"} $$${VARIABLE variableFromNextAssignmentName default="variable"} */

Selon ce rapport de bogue , la syntaxe va changer dans NetBeans 9 :

/* @var $variable VarType */    // vdoc1 (legacy syntax)
/** @var VarType $variable */   // vdoc (new syntax)

Aussi, il est utile de mentionner que vous pouvez ajouter à [] un nom de classe pour indiquer un tableau d'objets:

/* @var $foos Foo[] */
$foos = // ...

foreach ($foos as $foo) {
    // $foo will be hinted as Foo here
}

Et ne pas oublier votre déclaration de use, par exemple use Foo;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top