PHP | Función ReflectionGenerator getTrace()

La función ReflectionGenerator::getTrace() es una función incorporada en PHP que se utiliza para devolver la traza del generador especificado que se está ejecutando actualmente.

Sintaxis:

array ReflectionGenerator::getTrace ( void )

Parámetros: Esta función no acepta ningún parámetro.

Valor devuelto: esta función devuelve el seguimiento del generador especificado que se está ejecutando actualmente.

Los siguientes programas ilustran la función ReflectionGenerator::getTrace() en PHP:
Program_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);
?>

Producción:

array(0) {
}

Programa_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);
?>

Producción:

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) {
    }
  }
}

Referencia: https://www.php.net/manual/en/reflectiongenerator.gettrace.php

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *