是否可以在类声明之外记录方法,属性等?
<?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缺少的特性。它可以帮助我解决由框架生成但仍在实际项目中使用的库或文档类中缺少文档的问题。
如果你使用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;
}
}
您有两个选择:扩展库类和文档自己的类,或者更好的选择:为库开发和文档库做出贡献。