Gibt es eine Möglichkeit, WebIDE darauf hinzuweisen, dass eine Variable einen Typ hat? Ich muss ein Array von Objekten iterieren, und es ist keine automatische Vervollständigung verfügbar. Dies hilft in ZendStudio:
/* @var ClassName $object */
Ich weiß, dass JetBrains eine Funktion zum Deklarieren einer Reihe von Objekten enthält:
/**
* @return ClassName[]
*/
Dies funktioniert jedoch nur mit dem Rückgabetyp der Funktion.
php
phpstorm
type-hinting
web-ide
kolypto
quelle
quelle
Antworten:
/* @var ClassName $object */
ist ein ungültiger PHPDOC-Kommentar und wird in der aktuellen Version von Web IDE nicht analysiert. Verwenden Sie doppelte Sternchen, damit es funktioniert:/** @var ClassName $object */
Sie können aber auch mit Anmerkungen versehen
$array
inforeach($array as $var)
mit/** @var ClassName[] $array */
und$var
werden die Namen automatisch abgeleitet.quelle
Wie bereits erwähnt, verwendet PhpStorm reguläre Phpdoc-Blöcke:
/** @var ClassName $object */
Seit 2.1 werden jedoch auch Netbeans / Eclipse / Zend @var-Annotationen unterstützt :
/* @var $object ClassName */
Bitte beachten Sie, dass der Kommentar
/*
eher mit als beginnt/**
(daher wird er nicht angezeigt, wenn Sie mit phpdoc eine tatsächliche Dokumentation erstellen). Außerdem werden die Argumente ausgetauscht, obwohl PhpStorm jede Reihenfolge akzeptiert:/* @var ClassName $object */
Last but not least können sie fast jeder beliebigen Codezeile vorangehen (technisch gesehen sind phpdoc-Blöcke auf bestimmte Elemente beschränkt).
Bearbeiten: Ab 2019 scheinen Netbeans / Eclipse / Zend @var-Anmerkungen größtenteils aufgegeben zu sein. NetBeans 11 unterstützt sie nicht mehr und im Allgemeinen werden sie von anderen IDEs nicht unterstützt. Ich schlage vor, die andere Syntax zu verwenden.
quelle