php - 为什么使用 array($this ,'function' ) 而不是 $this->function()

标签 php arrays wordpress class

我正在检查一个 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/

相关文章:

php - 在php中访问关联数组中的第一个元素

javascript - 根据用户输入创建表单字段

php - 主页模板循环自定义 - 应根据帖子模板获取内容

c++ - 在 C++ 中将一维数组作为二维数组访问

javascript - 将php数据输出到jquery数组中?

wordpress - 检查第一次登录wordpress

php - Qcodo元素的开关位置

PHP-While 循环

ios - 更改数组属性时 Swift 映射不起作用

php - PHP比较和填充不同长度的数组