在 Visual Studio Code 中编辑 WordPress 代码时,
如果我有一个函数定义,并且我将其用作对
add_action
或 add_filter
的调用的回调,那么因为它用作字符串,所以它不被算作对函数的引用,并且智能感知在我的上方显示 0 references
这个函数在某种程度上是正确的,但在实际意义上也是错误的和误导性的。
我可以做一些事情来告诉 Visual Studio Code 添加对该函数的引用吗?
我希望我可以做这样的事情:
function myCallback() {
//do some stuff
}
add_action('init',myCallback.name)
或
add_action('init','myCallback' /* @references:myCallback */)
或者类似的东西
如果您使用 PHP 8.1,则可以使用 第一类可调用语法
add_action('init', myCallback(...));
我尝试了DEVSENSE的PHP扩展,下面的可调用形式可以作为参考。
class Foo {
public static function myCallback() {}
}
add_action('init', [Foo::class, 'myCallback']);
您可以使用回调将函数分配给:
$callable = function() {
echo 'Hello world!';
};
call_user_func($callable);
这适用于多个版本:https://3v4l.org/1tH3K
如果我正确阅读 3v4l.org,它适用于
5.3.0 - 5.3.29、5.4.0 - 5.4.45、5.5.0 - 5.5.38、5.6.0 - 5.6.40、7.0.0 - 7.0.33、7.1.0 - 7.1.33、7.2 .0 - 7.2.34、7.3.0 - 7.3.33、7.4.0 - 7.4.33、8.0.0 - 8.0.30、8.1.0 - 8.1.23、8.2.0 - 8.2.10