在 PHP 中自定义 function_alias 函数为函数创建别名
分类:PHP相关
时间:2023-11-07 11:43
浏览:0
评论:0
我们知道 PHP 有一个为类创建一个别名的函数:class_alias
,比如我们有个类名字是 WPJAM_Items
,我们希望使用 WPJAM_Item
的时候效果一致,可以使用下面的代码为类 WPJAM_Items
创建一个别名 WPJAM_Item
class_alias('WPJAM_Items', 'WPJAM_Item');
但是 PHP 就没有可以为函数创建一个别名的函数,比如我之前创建了一个函数 wpjam_is_mobile
来判断当前用户的设备是不是移动设备,但是后面发现 WordPress 已经通过 wp_is_mobile
函数实现了该方法
于是我把自己写的函数直接通过 WordPress 的函数实现:
function wpjam_is_mobile(){
return wp_is_mobile();
}
这样感觉上略显繁琐,没有创建别名的方式简洁,那么我们就自己创建一个 function_alias
函数,实现为函数创建别名:
function function_alias($original, $alias){
if(!function_exists($original) || function_exists($alias)){
return false;
}
eval('function '.$alias.'(...$args){
return call_user_func(\''.$original.'\', ...$args);
}');
return true;
}
如果担心 PHP 后续版本升级也实现了该方法,加多一个 function_exists
的判断:
if(!function_exists('function_alias')){
function function_alias($original, $alias){
if(!function_exists($original) || function_exists($alias)){
return false;
}
eval('function '.$alias.'(...$args){
return call_user_func(\''.$original.'\', ...$args);
}');
return true;
}
}
那么上面的别名就可以通过下面的代码实现了:
function_alias('wp_is_mobile', 'wpjam_is_mobile');
WPJAM Basic 最新版已经集成了该函数
生成海报 分享 打赏作者
1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. PHP相关 > 在 PHP 中自定义 function_alias 函数为函数创建别名
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. PHP相关 > 在 PHP 中自定义 function_alias 函数为函数创建别名