PHP不允许重新声明函数。如果您编写原始函数,有很多方法可以让您编写更灵活的函数。
我首先想到的是以传递的参数和过滤器挂钩为条件的。
例1:
function smth( $out = \'a\' ){
if ( $out === \'a\' ) {
echo \'aaa\';
} else {
echo \'bbb\';
}
}
之后,第一次打电话
smth();
第二次:
smth(\'b\');
<小时>例2
function smth(){
echo apply_filters(\'my_smth_filter\', \'aaa\');
}
之后,第一次打电话
smth();
第二次:
add_filter(\'my_smth_filter\', function() {
return \'bbb\';
});
smth();
如果原始功能是
not 它不提供任何过滤器来更改输出,您绝对需要更改该函数的行为,然后查看
Patchwork, 一个PHP库,允许您在运行时重新定义用户定义的函数。但是,只有在绝对必要的情况下,才能谨慎使用拼接,因为拼接是用于测试目的,而不是用于生产。