我正在检查一个 WordPress 插件,我在一个类的构造函数中看到了这个函数:
add_action('init', array($this, 'function_name'));
我搜索并发现 array($this, 'function_name')
是一个有效的回调。我不明白的是:为什么要使用这个方法,而不是使用 $this->function_name();
这是一个示例代码:
class Hello{
function __construct(){
add_action('init', array($this, 'printHello'));
}
function printHello(){
echo 'Hello';
}
}
$t = new Hello;
最佳答案
根据您的示例代码,$this->printHello()
将无法在您的class Hello
之外工作。传递对当前对象的引用 ($this) 和方法的名称将允许外部代码调用对象的给定方法。
关于php - 为什么使用 array($this ,'function' ) 而不是 $this->function(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556945/