如何记录 IDE 的魔术(_call和_callStatic)方法
在用记事本++和崇高编码的许多快乐岁月之后,我被建议尝试一下PHP IDE。我正在尝试phpStorm,它似乎很好。代码完成和文档是一个很棒的功能,但是当使用魔术方法时,对我来说并不奏效。有没有一个解决方法让phpStorm了解魔术方法中发生了什么?
我们的情况是这样的:
abstract class a {
public static function __callStatic($method,$args)
{
if(strpos($method,"get_by_") === 0)
{
//do stuff
} elseif(strpos($method,"get_first_by_") === 0) {
//do stuff
} elseif($method == "get_all") {
//do stuff
}
}
}
class b extends a {
// some more stuff
}
b::get_by_user_id(27);
b::get_first_by_id(156);
b::get_all();
magic callStatic 方法允许我们通过构成函数调用的 1 个或多个参数来获取对象的集合。
我看到在这些情况下有一个@method语句可以使用,但phpStorm只拾取这些语句中的第一个。此外,我只能将返回类型设置为混合,因为我希望能够将其设置为调用的任何类(在我的示例中为b)。
任何想法或建议将不胜感激,谢谢。