我试图理解WordPress如何与动作、类和方法一起工作。
如果有一个类;“测试类”;它有一个公共方法“method1”
该方法可以挂接到任何操作,如;add_action(\'theHook\', [\'TestClass\', \'method1\']);
"E;
据我所知。如果不初始化该类,则无法访问其公共方法和对象。现在,我假设WordPress必须遵循这一点,它必须初始化我的;TestClass“;,这将导致public \\uu construct()激发。
但是,在测试之后,它不会激发\\uu construct()。。
这是为什么?。我知道修复方法是在“method1”内部进行自我初始化,但我正在试图弄清楚WordPress为什么会这样。
SO网友:fuxia
在这些情况下,方法是called statically. 类可能是这样的,请注意static
关键词:
class Foo
{
public static function bar()
{
echo "Hello, world!";
}
}
然后您可以这样注册回调:
add_action( \'hookname\', [\'Foo\', \'bar\'] );
没有对象实例,因此
__construct()
将被调用。这基本上只是一种;“名称空间”;程序功能。