php - 如何阻止在 svn 中提交 php 调试输出?

标签 php debugging svn pre-commit-hook

我想阻止调试函数 var_dump、print_r 等... 被提交到 repo,这样 QA 就可以检查事情而不是报告错误,比如“有一个巨大的 block 所有页面上的文字!!”

我已经尝试过正则表达式(这不是一个好主意......大概)。

我也尝试过 token_get_all 但出于某种原因,它为每个调试函数返回 T_STRING,我想这会起作用,但看起来很奇怪......

还有第三种更好的方法吗?

最佳答案

根据我的新理解,我得到的是:

$debug_functions = array('print_r', 'var_dump', 'var_export');

foreach($files as $file=>$ext){
    $file_contents = file_get_contents($file);
    //break the content into tokens
    $tokens = token_get_all($file_contents);
    foreach($tokens as $t){
        //if the token id is an int (sometimes it isn't)
        if(is_int($t[0])){
            //if it matches our debug stuff...
            if($t[0] == T_STRING && (in_array($t[1], $debug_functions) || preg_match('/xdebug_.*?/', $t[1]))){
                echo 'Debug output '. $t[1] . ' found on line '. $t[2] . PHP_EOL;
            }
        }
    }
}

关于php - 如何阻止在 svn 中提交 php 调试输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7555402/

相关文章:

php - get_template_part 不工作 - WordPress

php - 确定现有字符串的所有子字符串的最快方法

php - 从选择查询设置变量

php - 将选定的下拉值从一个选择框复制到另一个选择框

eclipse - SVN 提交期间合并冲突

java - IntelliJ 和 Eclipse : debug Java application started by Maven exec:exec

php - 调试变量值cakephp

ios - 使用 Swift 和 Xcode 6 在 Safari 中调试 UIWEBVIEW

SVN 和 Ionic 项目的初始提交?

java - 恢复到 svn 中的修订版本