我正在学习 OOP,并且我想我已经掌握了它的窍门。我的问题是为什么 WordPress 样板插件的作者会写这样的添加操作函数
add_action('admin_init', array(&$this, 'admin_init'));
根据法典我理解add_action
hook,需要传递的参数为$tag
“$function_to_add 所挂钩的操作的名称”以及您想要挂钩的函数$function_to_add
.
好吧,我理解 OOP 中的函数是方法,我可以理解为什么这可能会改变语法,但这只是一个模糊的表示,我想要一个明确的答案为什么作者使用数组,然后使用&$this
。我明白为什么人们会使用$this->property
但不太确定&$this
.
这只是您引用该方法的方式吗?如果是这样,我仍然不理解数组,为什么它看起来不像$this->admin_init
.
顺便说一句,结构看起来有点像这样
class my_plugin_settings {
public function __construct() {
// register actions
add_action('admin_init', array(&$this, 'admin_init'));
}
public function admin_init() {
//Settings here
}
}
这为 PHP 函数提供了上下文,将其连接到 admin_init 函数。查看 add_action 的声明或者看一下http://www.php.net/manual/en/function.call-user-func-array.php http://www.php.net/manual/en/function.call-user-func-array.php.
这就是 PHP 知道使用该对象中的函数而不是全局级函数的方式
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)