PHP代碼調試和測試

php沒有多線程、同步等複雜的概念,大多由函數和類組成,數據類型和語法比較簡單,利用其豐富的內置函數便可實現大部分功能測試,可是,有時也須要比較比較專業的調試方法及工具迅速捕捉到異常。php

(1)debug函數 在實際應用中,除了應用echo、die、var_dump輸出當前變量值外,還須要輸出一些額外的信息,如當前代碼所在的函數名稱。linux

先來看三個有關調試的函數: func_num_args() 這個函數返回的是當前函數的參數數量 返回的是數字 **func_get_arg()**函數返回的是指定位置的參數的值 **func_get_args()**這個函數返回的是包含當前函數全部參數的一個數組 **PHP_EOL PHP中能夠用PHP_EOL來替代換行,以提升代碼的源代碼級可移植性 相似經常使用的還有 DIRECTORY_SEPARATOR 能夠用函數get_defined_constants()來獲取全部PHP常量web

<?php
    echo PHP_EOL;
    //windows平臺至關於    echo "\r\n";
    //unix\linux平臺至關於    echo "\n";
    //mac平臺至關於    echo "\r";
<?php
    //get_defined_constants()返回全部常量數組
    print_r(get_defined_constants());

###debug函數windows

public function debug(){
        $numargs = func_num_args(); // 參數個數
        $arg_list = func_get_arg(); // 獲取參數
        for($i = 0; $i < $numargs; $i ++)
        {
            echo "第${$i}個變量的值爲:",$arg_list[$i],PHP_EOL;
        }

        echo '當前所處的文件名爲:'.__FILE__,PHP_EOL;
    }

###引用上邊的調試函數數組

function mytest($a, $b){
 $sum = $a + $b;
 debug($a, $b);
 return $sum;
}

$ret = mytest(10,5);
echo $ret;

##斷點調試與變量跟蹤工具Xdebug多線程

webGrind facebook開源的XHProf性能分析函數

相關文章
相關標籤/搜索