php:确定从哪里调用函数

标签 php function-calls

有没有办法找出 PHP 中的函数是从哪里调用的? 示例:

function epic()
{
  fail();
}

function fail()
{
  //at this point, how do i know, that epic() has called this function?
}

最佳答案

您可以使用 debug_backtrace() .

示例:

<?php

function epic( $a, $b )
{
    fail( $a . ' ' . $b );
}

function fail( $string )
{
    $backtrace = debug_backtrace();

    print_r( $backtrace );
}

epic( 'Hello', 'World' );

输出:

Array
(
    [0] => Array
        (
            [file] => /Users/romac/Desktop/test.php
            [line] => 5
            [function] => fail
            [args] => Array
                (
                    [0] => Hello World
                )

        )

    [1] => Array
        (
            [file] => /Users/romac/Desktop/test.php
            [line] => 15
            [function] => epic
            [args] => Array
                (
                    [0] => Hello
                    [1] => World
                )

        )

)

关于php:确定从哪里调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2960805/

相关文章:

汇编中的 C++ 类函数

c - 试图用数组中的 scanf 读取整数

php - 设置它以便管理员可以在注册后批准用户

php - 在 Symfony2 中反序列化或解析 XML 响应

php - Phalcon 选择要安装的版本

r - R中函数调用的优先级

operating-system - ISR 和函数调用的区别?

PHP重用mysql结果集行

php - 如何使用 YouTube API V3 获取视频观看次数?

c - 用 C 语言进行二进制到十进制转换器