这个简单的PHP函数包装器看起来是否合理?

Jef*_*eff 2 php wordpress wordpress-theming

作为PHP的新手,并且在这个"函数包装器"上花了很多时间,我想我会得到一些意见和一些反馈.如果可能的话,我想得到五条评论.

在你问之前,我有很多理由想要包装其他(WordPress)函数,主要是无忧无虑的升级.能够为每个函数定义设置自定义名称对我来说也很重要,因此$wrap array.

但我离题了,这看起来是否可以接受且相对防弹?

function core_oo( $function )
{
    $args = array_slice( func_get_args(), 1 );
    $wrap = array
    (
        'comment' => 'the_comment',
        'comments' => 'have_comments',
        'post' => 'the_post',
        'posts' => 'have_posts'
    );
    return call_user_func_array( $wrap[ $function ], $args );
}
Run Code Online (Sandbox Code Playgroud)

......并且函数将被称为......

core_oo( 'post', 'arg1', 'arg2' );
Run Code Online (Sandbox Code Playgroud)

非常感谢!

编辑:

在下面的每个混乱的sugeestion,这是声明$ wrap为静态的正确方法吗?

static $wrap = array
( ...
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 6

好吧,你的基本目标似乎是疯狂的,但是你的基本目标是作为一个给定的,是的,这个功能看起来是一个很好的方法来实现它.

您应该声明$wrapstatic确保每次调用函数时都不会毫无意义地重新生成数组.

还有这个:

if(!isset($wrap[$function]))
    trigger_error('No underlying function known for ' . $function, E_USER_ERROR);
Run Code Online (Sandbox Code Playgroud)

可能也很聪明.