基于数组值创建函数

时间:2013-01-31 作者:Norcross

我正在开发一个功能集,该功能集将为网站上的每个自定义帖子类型添加一篇文章。因为我不知道注册了哪些CPT,所以我编写了一个函数来获取它们(很简单)。然而,我现在需要为数组中的每个值创建一个函数(一个小的设置页面),以正确完成此操作。

以下是我的阵列示例:

$types = array (\'type_a\', \'type_b\', \'type_c\');
所以我基本上想生成一个函数type_a_page, type_b_page, etc在同一整体类中。

UPDATE

我意识到这段代码只是一小部分,并没有解释我为什么要实现这一点。下面是完整的代码库https://gist.github.com/4687698

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

是否可以使用\\uu调用PHP类功能?

http://www.php.net/manual/en/language.oop5.overloading.php#object.call

您可以在类中使用\\uu call并调用函数来获取页面类型,并根据$name(first)参数检查它们,并对其运行自定义代码。

例如:

__call ($name, $args) {
    $types = array (\'type_a\', \'type_b\', \'type_c\');

    if (in_array($name, $types) {
        // custom code
    }
}
更新:对gist的回应。

因此,在类中使用\\uu call作为方法,在要点的第90行,您可以使用:

$this->$slug();

SO网友:TheRealJAG

您不能使用PHP函数create\\u函数吗?

http://php.net/manual/en/function.create-function.php

结束

相关推荐

“WARNING:CALL_USER_FUNC_ARRAY()[Function.call-User-Func-ARRAY]:”以上备注表单

我正在为一个朋友建立一个网站,在评论栏上方有一条警告消息,我一直在努力寻找,如果你能提供帮助,我将非常感激。我在Wordpress Codex上问过,但遗憾的是没有人回应。警告:call\\u user\\u func\\u array()[函数.call user func array]:第一个参数应为有效回调,“tl\\u spam\\u free\\u wordpress\\u comments\\u form”在/home/euanmitc/public\\u html/wp includes/p