当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP ReflectionGenerator getTrace()用法及代码示例


ReflectionGenerator::getTrace()函数是PHP中的内置函数,用于返回指定的当前正在执行的生成器的跟踪。

用法:

array ReflectionGenerator::getTrace ( void )

参数:该函数不接受任何参数。


返回值:此函数返回指定的当前正在执行的生成器的跟踪。

以下示例程序旨在说明PHP中的ReflectionGenerator::getTrace()函数:
程序_1:

<?php 
  
// Initializing a user-defined class Company 
class Company 
{ 
    public function GFG() 
    { 
        yield 0; 
    } 
} 
  
// Creating a generator 'A' on the above 
// class Company 
$A = (new Company)->GFG(); 
  
// Using ReflectionGenerator over the  
// above generator 'A' 
$B = new ReflectionGenerator($A); 
  
// Calling the getTrace() function 
$C = $B->getTrace(); 
  
// Getting the trace of the specified  
// executing generator 'A' 
var_dump($C); 
?>

输出:

array(0) {
}

程序_2:

<?php 
  
// Initializing a user-defined function 
function Department1() { 
    yield 1; 
} 
  
function Department2() 
{ 
    yield from Department1(); 
} 
  
function Department3() 
{ 
    yield from Department2(); 
} 
  
// Creating a generator 
$A = Department3(); 
  
// Starting the generator 
$A->valid(); 
  
// Using ReflectionGenerator() over the  
// above generator 'A' 
$A = new ReflectionGenerator($A); 
  
// Calling the getTrace() function 
$B = $A->getTrace(); 
  
// Getting the the trace of the  
// executing generator 'A' 
var_dump($B); 
?>

输出:

array(2) {
  [0]=>
  array(4) {
    ["file"]=>
    string(42) "/home/5ae62f6794b195f5dfeff893639bead9.php"
    ["line"]=>
    int(10)
    ["function"]=>
    string(11) "Department1"
    ["args"]=>
    array(0) {
    }
  }
  [1]=>
  array(4) {
    ["file"]=>
    string(42) "/home/5ae62f6794b195f5dfeff893639bead9.php"
    ["line"]=>
    int(15)
    ["function"]=>
    string(11) "Department2"
    ["args"]=>
    array(0) {
    }
  }
}

参考: https://www.php.net/manual/en/reflectiongenerator.gettrace.php



相关用法


注:本文由纯净天空筛选整理自Kanchan_Ray大神的英文原创作品 PHP | ReflectionGenerator getTrace() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。