在Visual Studio Code中编辑WordPress代码时,
如果我有一个函数定义,然后我将它用作对add_action
或add_filter
调用的回调,如下所示:
function myCallback() {
//do some stuff
}
add_action('init', 'myCallback') ;
但是因为它被用作字符串,所以它不被算作对函数的引用,而intelisense在我的函数上面说0 references
,这在某种程度上是正确的,但在实际意义上也是错误的和误导的。
我能做些什么来告诉visual studio代码添加对该函数的引用吗?
我希望我可以做一些类似的事情(这不是真实的工作代码...):
function myCallback() {
//do some stuff
}
add_action('init', myCallback.name) ;
即通过引用myCallbck的成员字段或方法来获取myCallbck的名称。
或者(这也不是一个当前有效的解决方案-只是一个想法...)
add_action('init','myCallback' /* @references:myCallback */)
即,通过添加一些注解,Intelephanse可以使用这些注解来理解存在引用,否则它将错过该引用。
2条答案
按热度按时间balp4ylt1#
如果您使用的是PHP 8.1,则可以使用first class callable syntax
我试过DEVSENSE的PHP扩展,下面的可调用形式可以作为参考识别。
lf3rwulv2#
您可以使用回调函数将函数分配给:
变量
$callable
的类型为callable,call_user_func的参数类型为callable
,就像add_action一样。你可以这样使用它:
这适用于多个版本: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