Being new to PHP, and with a lot riding on this “function wrapper”, I thought I’d get a few opinions and a little feedback. I’d like to get about five comments, if possible.
Now before you ask, I have many reasons for wanting to wrap other (WordPress) functions, the primary being hassle-free upgrading. It was also important for me to be able to set a custom name for each function definition, hence the $wrap array
.
But I digress, does this look acceptable and relatively bulletproof?
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 );
}
… and the function will be called like…
core_oo( 'post', 'arg1', 'arg2' );
Many thanks!
EDIT:
Per chaos’s sugeestion below, is this the right way to declare $wrap as static?
static $wrap = array
( ...
Well, your fundamental aim seems like madness, but with your fundamental aim taken as a given, yes, that function looks like a fine way to accomplish it.
You should declare
$wrap
asstatic
to ensure that you’re not pointlessly regenerating the array every time the function is called, though.And this:
would probably be smart too.