我正在尝试更频繁地记录我的代码,现在我正在编写一个类,希望它能够完整记录。但是,由于某些奇怪的原因,本地变量文档(当然使用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'。
我知道在这种情况下它不会是一个问题,但是在一个包含大量代码的大函数中它实际上可能是有用的。但是,由于某些原因它不起作用,我不知道为什么。
答案 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 $@