php - 跟踪标记为弃用的函数的使用

标签 php function deprecated

关注此主题: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/

相关文章:

c++ - 通过引用 v. 通过指针传递——优点?

javascript - jQuery:在执行 toggleClass 之后执行一个函数

iOS CocoaPod 警告 - "Google has been deprecated"- 使用 pod 'Google/SignIn' 时

php - 在 Windows 服务器上使用 mkdir 时权限被拒绝

php - 按日期顺序连接两个表并显示结果

javascript - 奇怪的结构?

Kotlin 弃用注解将其替换为类名

c - 为什么首先要成为 C 标准的一部分?

php - PHP mail() 错误 : Multiple or malformed newlines found in additional_header

php - 在 SimplePie 提要文章之间添加横幅