是否可以在类声明之外记录方法,属性等?
<?php
// lib/classa.php
class ClassA {
public function __call($method, $args)
{
if ($method == 'testA')
return $method;
else if ($method == 'testB')
return $method;
}
}
正如您所看到的,上面的类有一些未记录的功能,IDE无法通知。
<?php
// app/index.php
/**
* @method string ClassA::testA()
* @method string ClassA::testB()
*/
$classa = new ClassA();
classa->testA();
# ^
# |
# \_____Code suggestions here
我更有可能暗示IDE缺少功能。它可以帮助我解决由框架生成但仍在实际项目中使用的库或文档类中缺少的文档。
答案 0 :(得分:0)
如果你使用phpdoc,那是不可能的。你应该阅读docblock。 @method
以另一种方式使用:
/**
* @method string testA()
* @method string testB()
*/
class ClassA {
public function __call($method, $args)
{
if ($method == 'testA')
return $method;
else if ($method == 'testB')
return $method;
}
}
您有两个选择:扩展库类和文档自己的类,或者更好的一个:在库开发和文档库中做出贡献。