JetBrains WebIDE: PHP variable type hinting?

前端 未结 2 1187
慢半拍i
慢半拍i 2020-12-04 14:01

Is there a way to hint WebIDE that a variable has some type? I have to iterate an array of objects, and there\'s no auto-completion available. This helps in ZendStudio:

相关标签:
2条回答
  • 2020-12-04 14:48

    /* @var ClassName $object */ is a non-valid PHPDOC comment and is not parsed in the current version of Web IDE. Use double asterisks to make it work:

    /** @var ClassName $object */
    

    Also, you can annotate $array in foreach($array as $var) with /** @var ClassName[] $array */ and $var type will be deduced automatically.

    0 讨论(0)
  • 2020-12-04 14:54

    As already pointed out, PhpStorm will use regular phpdoc blocks:

    /** @var ClassName $object */
    

    However, since 2.1 it also supports Netbeans/Eclipse/Zend @var annotations:

    /* @var $object ClassName */
    

    Please note the comment starts with /* rather than /** (thus it won't show up if you generate actual documentation with phpdoc). Also, the arguments are swapped, though PhpStorm accepts any order:

    /* @var ClassName $object */
    

    Last but not least, they can precede almost any arbitrary line of code (technically, phpdoc blocks are restricted to certain items).


    Edit: as of 2019, Netbeans/Eclipse/Zend @var annotations seem to be mostly abandoned. NetBeans 11 no longer supports them and in general they aren't supported by other IDEs. I suggest to use the other syntax.

    0 讨论(0)
提交回复
热议问题