【发布时间】:2010-02-13 07:50:06
【问题描述】:
WordPress 有一组称为可插入函数的函数;基本上,它们被设计为被新功能覆盖,但有一个问题 - 如果另一个插件首先定义该功能,则其他一些较低优先级的插件不能......(否则会出现致命错误)。因此,像这样的“包含警卫”是很常见的
if (!function_exists('wp_new_user_notification'))
{
function wp_new_user_notification($userid, $blah='')
{
}
}
这避免了致命错误,但它会导致插件神秘地失败......
通常会尝试避免插件冲突。但是,一个问题是您不知道插件是否会发生冲突,而且有时对于功能丰富的插件来说很难避免这种情况。
问题是(很抱歉花了这么长时间来设定前提)您如何检测冲突?一直是无形的失败,因为函数存在,没有报错,结果却是“哎,这个插件坏了!”
如果定义了函数,我可以回显某些内容,但是如何将其转换为单元测试?每当加载页面时,WordPress 都会包含所有插件的头文件。如何以编程方式确定 Wordpress 已加载的可插入功能是我想要的功能?
【问题讨论】:
标签: php unit-testing wordpress