function函数的用法(create function函数的用法)

2023年3月11日17:27:50function函数的用法(create function函数的用法)已关闭评论

我们知道 PHP 有一个为类创建一个别名的函数:class_alias,比如我们有个类名字是WPJAM_Items,我们希望使用WPJAM_Item的时候效果一致,可以使用下面的代码为类WPJAM_Items创建一个别名WPJAM_Item。

class_alias(WPJAM_Items,WPJAM_Item);

但是 PHP 就没有可以为函数创建一个别名的函数,比如我之前创建了一个函数wpjam_is_mobile来判断当前用户的设备是不是移动设备,但是后面发现 PHP 已经通过wp_is_mobile函数实现了该方法。

于是我把自己写的函数直接通过 PHP 的函数实现:

functionwpjam_is_mobile(){returnwp_is_mobile();
}

这样感觉上略显繁琐,没有创建别名的方式简洁,那么我们就自己创建一个function_alias函数,实现为函数创建别名:

functionfunction_alias($original, $alias){if(!function_exists($original) || function_exists($alias)){returnfalse;
}eval(function.$alias.(...$args){
return call_user_func(.$original., ...$args);
});returntrue;
}

如果担心 PHP 后续版本升级也实现了该方法,加多一个function_exists的判断:

if(!function_exists(function_alias)){functionfunction_alias($original, $alias){if(!function_exists($original) || function_exists($alias)){returnfalse;
}eval(function.$alias.(...$args){
return call_user_func(.$original., ...$args);
});returntrue;
}
}

那么上面的别名就可以通过下面的代码实现了:

function_alias(wp_is_mobile,wpjam_is_mobile);

WPJAM Basic 最新版已经集成了该函数。

懵懂先生