关注此主题:How to handle functions deprecation in library?我想找到一种方法来跟踪对已弃用函数的所有调用,这样我就可以确保在删除该函数之前将它们全部替换掉。给定以下 PHP 方法
/*
@deprecated - just use getBar()
*/
function getFoo(){
return getBar();
}
function getBar(){
return "bar";
}
我想出了以下这样做的方法,我正在寻找反馈。
function getFoo(){
try{
throw new Exception("Deprecated function used");
} catch(Exception $e){
//Log the Exception with stack trace
....
// return value as normal
return getBar();
}
}
最佳答案
对于 PHP 内部弃用的函数,只需将 E_STRICT 添加到 error_reporting .
对于用户空间函数提出关于弃用函数的通知或警告,我建议花时间添加 @deprecated
注释的开发人员也触发 E_USER_DEPRECATED警告,例如
function getFoo(){
trigger_error(__FUNCTION__ . 'is deprecated', E_USER_DEPRECATED );
return getBar();
}
我不知道是否有 available QA tools可以自动检测代码是否包含已弃用的方法调用。不过,这些是您最好的选择。
如果您使用代码覆盖率为 100% 的 TDD,则无需担心删除已弃用的方法或函数。您的自动化测试只会失败,您会知道去哪里寻找。
关于php - 跟踪标记为弃用的函数的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2014545/