Netbeans PHPDoc本地变量不起作用

时间:2015-10-14 13:09:06

标签: php netbeans phpdoc

我正在尝试更频繁地记录我的代码,现在我正在编写一个类,希望它能够完整记录。但是,由于某些奇怪的原因,本地变量文档(当然使用PHPDoc)不起作用..

我明白了:

/**
 * A function for question
 * @param string $theVar The var to put in local var $aVar.
 */
public function theFunction($theVar) {
    /** @var string This is new local var, should have documentation but hasn't... */
    $aVar = $theVar;
}

因此,当我输入'the'并按空格,然后转到我在Netbeans中的功能时,它会显示功能文档。

但是,当我在函数中键入'aVa'并按空格并转到我的变量时,它会显示'找不到PHPDoc'。

我知道在这种情况下它不会是一个问题,但是在一个包含大量代码的大函数中它实际上可能是有用的。但是,由于某些原因它不起作用,我不知道为什么。

3 个答案:

答案 0 :(得分:1)

我不认为你可以记录这样的内部变量。您可以记录class变量声明和函数参数,但the documentation没有说明本地函数变量

  

您可以使用@var标记来记录属性的“类型”,有时也称为类变量。   实例

class Foo
{
  /** @var string|null Should contain a description */
  protected $description = null;
}
  

甚至可以记录复合陈述:

class Foo
{
  /**
   * @var string $name        Should contain a description
   * @var string $description Should contain a description
   */
  protected $name, $description;
}

答案 1 :(得分:1)

这应该在局部变量中起作用。刚学习PHPDoc,但我在PHPStorm中使用它,只要你没有在文档中明确包含局部变量名,它就可以工作。

将其粘贴到IDE中:

<?php
    /** @var int This documentation is for $aVar. */
    $aVar = 5;

    /** @var int This documentation is for $bVar. */
    $bVar = 10;

    if ($bVar !== $aVar) {
        echo "False";
    }

答案 2 :(得分:1)

这是针对Netbeans的不同调整。您必须删除一个/* @var int This documentation is for $bVar. */ $bVar = 10;

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

在8.2版本的Netbeans中,你有一个模板:vdoc快速执行:

common.o :
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "$@.d" -c miwt_os/dispatcher/common.cpp
-include commono.o.d

array_safe.o :
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "$@.d" -c miwt_os/dispatcher/array_safe.cpp
-include array_safe.o.d

tstamp.o :
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "$@.d" -c miwt_os/dispatcher/tstamp.cpp
-include tstamp.o.d

cbor_encoder.o :
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "$@.d" -c miwt_os/coap/cbor_encoder.cpp
-include cbor_encoder.o.d

cbor_encoder_test.o : 
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -MF "$@.d" -c miwt_os/coap/unittest/cbor_encoder_test.cpp
-include cbor_encoder_test.o.d

cbor_encoder_test : array_safe.o tstamp.o cbor_encoder_test.o cbor_encoder.o \
                    common.o gmock_main.a
    $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@