Я проверял плагин 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;

BlackPanther

Ответов: 1

Ответы (1)

Согласно вашему примеру кода, $this->printHello() не будет работать вне вашего класса Hello. Передача ссылки на текущий объект ($this) и имени метода позволит внешнему коду вызвать данный метод вашего объекта.

2022 WebDevInsider