簡單 php 代碼跟蹤調試實現

簡單 php 代碼跟蹤調試實現php

 

debug_backtrace:生成回溯
debug_print_backtrace:打印回溯

1. debug_backtrace ($options = DEBUG_BACKTRACE_PROVIDE_OBJECT, $limit = 0) {}ide

 

$backtrace = debug_backtrace();
var_dump($backtrace);

  

<?php

// 訂單資料
class Order{

    // 獲取訂單資料
    function get_order($order_id){
        $user_id = 1001;
        // 獲取用戶資料
        $oUser = new User;
        $user_info = $oUser->get_user($user_id);
        // 訂單資料
        $order_info = array(
            'order_id' => $order_id,
            'order_name' => 'my order',
            'user_info' => $user_info,
        );
        return $order_info;
    }
}

class User{
    // 獲取用戶資料
    function get_user($user_id){
        // 獲取用戶訊息
        $oMessage = new Message;
        $user_message = $oMessage->get_message($user_id);
        $user_info = array(
                'user_id' => $user_id,
                'name' => 'fdipzone',
                'message' => $user_message
        );
        return $user_info;
    }
}

class Message{
    // 獲取用戶訊息
    function get_message($user_id){
        $message = array(
            array('id'=>1, 'title'=>'message1'),
            array('id'=>2, 'title'=>'message2'),
        );
        // 加入跟蹤調試
        $backtrace = debug_backtrace();
        var_dump($backtrace);

        return $message;
    }
}

// 獲取用戶訂單資料
$order_id = 1000000;

$oOrder = new Order;
$order_info = $oOrder->get_order($order_id);
View Code

結果:
spa

 

2.打印回溯    debug

debug_print_backtrace (int $options = 0,int $limit = 0) :調試


$options :此參數是如下選項的位掩碼:
$limit  :此參數可用於限制打印的堆棧幀的數目。code

debug_print_backtrace();

  代碼:blog

<?php

// 訂單資料
class Order{

    // 獲取訂單資料
    function get_order($order_id){
        $user_id = 1001;
        // 獲取用戶資料
        $oUser = new User;
        $user_info = $oUser->get_user($user_id);
        // 訂單資料
        $order_info = array(
            'order_id' => $order_id,
            'order_name' => 'my order',
            'user_info' => $user_info,
        );
        return $order_info;
    }
}

class User{
    // 獲取用戶資料
    function get_user($user_id){
        // 獲取用戶訊息
        $oMessage = new Message;
        $user_message = $oMessage->get_message($user_id);
        $user_info = array(
                'user_id' => $user_id,
                'name' => 'fdipzone',
                'message' => $user_message
        );
        return $user_info;
    }
}

class Message{
    // 獲取用戶訊息
    function get_message($user_id){
        $message = array(
            array('id'=>1, 'title'=>'message1'),
            array('id'=>2, 'title'=>'message2'),
        );
        // 加入跟蹤調試
        //$backtrace = debug_backtrace();
        //var_dump($backtrace);//fixme or
        debug_print_backtrace();

        return $message;
    }
}

// 獲取用戶訂單資料
$order_id = 1000000;

$oOrder = new Order;
$order_info = $oOrder->get_order($order_id);
View Code

結果:ip

相關文章
相關標籤/搜索