将类方法注册为挂钩回调

时间:2011-06-15 作者:Daniel Chatfield

我不确定我是否做对了。

据我所知:

如果我有一个类foo和一个静态方法栏,我可以通过传递数组将其注册为回调array("foo","bar") 作为函数名。

如果我在$foo中有一个类的实例,并且想调用方法栏,我会传递数组array($foo,\'bar\').

如果我需要在类本身内部注册一个操作,它会与array($this,\'bar\')?

2 个回复
最合适的回答,由SO网友:hakre 整理而成

如果我需要在类本身内部注册一个操作,它会与array($this, \'bar\')?

是的,它起作用了。$thisDocs 指的是callback. 这和$foo 你举的例子。只是$this 有点特殊,但它表示基本相同,并且在PHP中可以完美地使用回调。

Additional:

如果我有一个类foo和一个静态方法栏,我可以通过传递数组将其注册为回调array("foo","bar") 作为函数名。

是的,您可以这样做,对于静态函数,您也可以将其写入字符串而不是数组:foo::bar, 看见Callbacks Docs. 可能很方便。

SO网友:William Turrell

对于静态方法,也可以执行以下操作:

[\'foo\',\'bar\'] 
当下面给出未定义的类常量“bar”时:

foo::bar
示例-为指定$control\\u回调时wp_add_dashboard_widget

结束

相关推荐

Grouping post-types in loop

当用户从下拉列表中选择特定类别时,将显示多个帖子类型的列表。我想用标题中的帖子类型标题分组显示数据。我不确定如何划分为岗位类型组。我花了一点时间寻找,但没有找到我真正需要的东西。我还试图添加<?php $post_type = get_post_type( $post->ID ); echo $post_type; ?> 但这只是重复(显然)。调用循环<div id=\"content\" role=\"main\" style=\"float:right; width:765px