示例:
$var = 'post_type_archive';
$name = 'some-archive';
$condition = 'is_'.$var;
if($condition($name))
那被认为是一个大胖子禁忌吗?如果是这样,那么如何才能完成类似的事情呢?
答案 0 :(得分:1)
有时您需要这样做。只需确保您只在实际需要时才这样做,因为正如评论者所说,它很容易成为一个可读性问题。如果要调用的可能函数列表很短,请考虑使用switch语句。
答案 1 :(得分:1)
如果要这样做,则需要确保动态创建的函数名始终有效,否则在运行时会出现致命错误。至少,您应该使用is_callable()
来检查该函数是否存在。
答案 2 :(得分:1)
当您将使用限制在某些情况时,这不是一种不好的做法。其中一种情况可能是根据给定的GET参数动态调用函数。
但我建议改用call_user_func()
。它清楚地表明了您将要做的事情,并且代码更具可读性。请记住始终使用is_callable()
检查函数是否存在。
call_user_func()
不适用于内置函数。