Public Member Functions | |
| __construct (array $aStack=array()) | |
| explain () | |
| getAll () | |
| getArguments () | |
| getClass () | |
| getCurrent () | |
| getFile ($bOnlyName=false) | |
| getFunction () | |
| getLevel () | |
| getLine () | |
| getScope () | |
| getType () | |
| levelBottom () | |
| levelDown ($iDepth=1, $bTry=false) | |
| levelTop () | |
| levelUp ($iDepth=1, $bTry=false) | |
| setLevel ($iLevel) | |
Public Attributes | |
| const | SCOPE_FILE = "file" |
| const | SCOPE_FUNCTION = "function" |
| const | SCOPE_METHOD = "->" |
| const | SCOPE_STATIC = "::" |
Private Attributes | |
| $aCurrent = array() | |
| $aStack = array() | |
| $iLevel = 0 | |
Supplies execution stack data.
Manipula e fornece acesso aos dados de uma determinada pilha de execução. Por meio de métodos é possível caminhar entre os níveis e capturar informações respectivas a cada um deles.
Definition at line 18 of file BackTrace.php.
| __construct | ( | array $ | aStack = array() |
) |
Captura dados da pilha de execução.
Captures execution stack data.
Os dados da pilha de execução são capturados e o ponteiro é movido para o nível imediatamente inferior ao ponto de chamada deste construtor caso a pilha não seja informado pelo parâmetro, caso contrário a pilha informada é utilizada.
| string[][] | $aStack |
Definition at line 129 of file BackTrace.php.
References $aStack, and levelTop().
00130 { 00131 $this->aStack = count( $aStack ) === 0 ? debug_backtrace() : $aStack; 00132 $this->levelTop(); 00133 }
| explain | ( | ) |
Gera HTML com detalhes do rastreamento a partir do nível atual.
Creates HTML with detail of the trace.
Captura todos os dados de um rastreamento a partir do nível atual da pilha.
Definition at line 146 of file BackTrace.php.
References BackTraceExplain::perform().
00147 { 00148 return BackTraceExplain::perform( $this ); 00149 }
| getAll | ( | ) |
Obtém todos os dados de todos os níveis.
Gets all data of all levels.
Retorna os dados contidos na pilha construída pelo construtor dessa classe. O formato é idêntico ao retornado pela função debug_backtrace().
Definition at line 162 of file BackTrace.php.
| getArguments | ( | ) |
Obtém os argumentos de entrada do nível atual.
Captures input arguments of current level.
Se o escopo do nível corrente for uma função ou método retorna uma lista com os parâmetros de chamada. Caso contrário retorna uma lista vazia.
Definition at line 177 of file BackTrace.php.
00178 { 00179 if ( array_key_exists( "args", $this->aCurrent ) === false ) 00180 { 00181 return array(); 00182 } 00183 return (array) $this->aCurrent["args"]; 00184 }
| getClass | ( | ) |
Obtém o nome da classe do nível atual.
Captures class name of current level.
Se o escopo do nível atual for um método ou método estático o nome da classe é retornado. Caso contrário retornará um texto vazio. Para verificar se o escopo atual é um método, método estático, função ou arquivo utilize BackTrace::getScope().
Definition at line 198 of file BackTrace.php.
00199 { 00200 if ( array_key_exists( "class", $this->aCurrent ) === false ) 00201 { 00202 return ""; 00203 } 00204 return (string) $this->aCurrent["class"]; 00205 }
| getCurrent | ( | ) |
Obtém todos os dados do nível corrente.
Captures all data of current level.
Retorna os dados do nível corrente da pilha de execução. O formato é igual a um item da pilha retornada pela função debug_backtrace().
Definition at line 217 of file BackTrace.php.
| getFile | ( | $ | bOnlyName = false |
) |
Obtém o nome do arquivo do nível corrente.
Captures file of current level.
Retorna o caminho completo contendo o nome do arquivo do nível atual.
| boolean | $bOnlyName captura somente o nome do arquivo |
Definition at line 232 of file BackTrace.php.
00233 { 00234 if ( array_key_exists( "file", $this->aCurrent ) === false ) 00235 { 00236 return ""; 00237 } 00238 if ( $bOnlyName === true ) 00239 { 00240 return basename( (string) $this->aCurrent["file"] ); 00241 } 00242 return (string) $this->aCurrent["file"]; 00243 }
| getFunction | ( | ) |
Obtém o nome da função do nível corrente.
Captures function name of current level.
Se o escopo do nível atual for uma função, método ou método estático o nome desse é retornado. Caso contrário retornará um texto vazio. Para verificar se o escopo atual é uma função, método, método estático ou arquivo utilize BackTrace::getScope().
Definition at line 257 of file BackTrace.php.
Referenced by getScope().
00258 { 00259 if ( array_key_exists( "function", $this->aCurrent ) === false ) 00260 { 00261 return ""; 00262 } 00263 return (string) $this->aCurrent["function"]; 00264 }
| getLevel | ( | ) |
Obtém a posição do nível atual do nível corrente.
Captures position of current level.
Definition at line 273 of file BackTrace.php.
| getLine | ( | ) |
Obtém número da linha do arquivo do nível corrente.
Captures file line name of current level.
Caso o número da linha não esteja disponível o valor 0 é retornado.
Definition at line 287 of file BackTrace.php.
00288 { 00289 if ( array_key_exists( "line", $this->aCurrent ) === false ) 00290 { 00291 return 0; 00292 } 00293 return (integer) $this->aCurrent["line"]; 00294 }
| getScope | ( | ) |
Obtém o escopo do nível corrente.
Captures scope of current level.
O tipo de escopo define o ambiente do nível atual, ele pode ser função, método (função de classe), estático (método estático) ou arquivo. Esses tipos estão definidos nessa classe pelas constantes com prefixo "SCOPE_". Os possíveis valores retornados são: BackTrace::SCOPE_FILE, BackTrace::SCOPE_FUNCTION, BackTrace::SCOPE_METHOD e BackTrace::SCOPE_STATIC. Os escopos estão definidos de forma parecida com o índice "type" da lista retornada pela função debug_backtrace(), porém existe diferenciação entre o escopo função e arquivo. Para obter o mesmo comportamento desse índice "type" utilize BackTrace::getType().
Definition at line 314 of file BackTrace.php.
References getFunction(), and getType().
00315 { 00316 $sType = $this->getType(); 00317 if ( $sType === "" ) 00318 { 00319 $sType = $this->getFunction() === "" ? self::SCOPE_FILE : self::SCOPE_FUNCTION; 00320 } 00321 return $sType; 00322 }
| getType | ( | ) |
Obtém o tipo do nível corrente.
Captures type of current level.
O tipo de escopo define o ambiente do nível atual, ele pode ser método (função de classe), estático (método estático) ou nenhum. Para obter um maior detalhamento do escopo utilize BackTrace::getScope().
Definition at line 335 of file BackTrace.php.
Referenced by getScope().
00336 { 00337 if ( array_key_exists( "type", $this->aCurrent ) === false ) 00338 { 00339 return ""; 00340 } 00341 return (string) $this->aCurrent["type"]; 00342 }
| levelBottom | ( | ) |
Move o ponteiro de rastreamento para o nível mais baixo.
Moves trace pointer to last level.
Definition at line 351 of file BackTrace.php.
References setLevel().
Referenced by levelDown(), and levelUp().
00352 { 00353 $this->setLevel( count( $this->aStack ) - 1 ); 00354 }
| levelDown | ( | $ | iDepth = 1, |
|
| $ | bTry = false | |||
| ) |
Move o ponteiro de rastreamento para baixo.
Moves trace pointer to down.
Quando o valor retronado é verdadeiro a classe passa a manipular as informações do nível imediatamente inferior ao atual. Caso contrário, quando o retorno é falso, o ponteiro não é alterado. A quantidade de níveis a ser abaixado é por padrão o valor 1, porém ele pode ser redefinido pelo primeiro parâmetro. Caso não seja possível descer a quantidade de níveis desejado o segundo parâmetro, que por padrão é falso, indica se é para descer até onde for possível.
| integer | $iDepth | |
| boolean | $bTry caso o nível não exista tentar até onde for possível |
Definition at line 373 of file BackTrace.php.
References levelBottom(), levelTop(), and setLevel().
00374 { 00375 $iDepth = (integer) $iDepth; 00376 $bReturn = $this->setLevel( $this->iLevel + $iDepth ); 00377 if ( $bReturn === false && $bTry === true ) 00378 { 00379 $iDepth > 0 ? $this->levelTop() : $this->levelBottom(); 00380 } 00381 return $bReturn; 00382 }
| levelTop | ( | ) |
Move o ponteiro de rastreamento para o nível mais alto.
Moves trace pointer to first level.
Definition at line 391 of file BackTrace.php.
References setLevel().
Referenced by __construct(), levelDown(), and levelUp().
00392 { 00393 $this->setLevel( 0 ); 00394 }
| levelUp | ( | $ | iDepth = 1, |
|
| $ | bTry = false | |||
| ) |
Move o ponteiro de rastreamento para cima.
Moves trace pointer to up.
Quando o valor retronado é verdadeiro a classe passa a manipular as informações do nível imediatamente superior ao atual. Caso contrário, quando o retorno é falso, o ponteiro não é alterado. A quantidade de níveis a ser subido é por padrão o valor 1, porém ele pode ser redefinido pelo primeiro parâmetro. Caso não seja possível subir a quantidade de níveis desejado o segundo parâmetro, que por padrão é falso, indica se é para subir até onde for possível.
| integer | $iDepth | |
| boolean | $bTry caso o nível não exista tentar até onde for possível |
Definition at line 413 of file BackTrace.php.
References levelBottom(), levelTop(), and setLevel().
00414 { 00415 $iDepth = (integer) $iDepth; 00416 $bReturn = $this->setLevel( $this->iLevel - $iDepth ); 00417 if ( $bReturn === false && $bTry === true ) 00418 { 00419 $iDepth > 0 ? $this->levelBottom() : $this->levelTop(); 00420 } 00421 return $bReturn; 00422 }
| setLevel | ( | $ | iLevel | ) |
Move o ponteiro de rastreamento.
Moves trace pointer.
Quando o valor retronado é verdadeiro a classe passa a manipular as informações do nível indicado pelo parâmetro. Caso contrário, quando o retorno é falso, o ponteiro não é alterado.
| integer | $iLevel nível do rastreamento |
Definition at line 436 of file BackTrace.php.
References $iLevel.
Referenced by levelBottom(), levelDown(), levelTop(), and levelUp().
00437 { 00438 $iLevel = (integer) $iLevel; 00439 if ( array_key_exists( $iLevel, $this->aStack ) === true ) 00440 { 00441 $this->iLevel = $iLevel; 00442 } 00443 $this->aCurrent = &$this->aStack[$this->iLevel]; 00444 return $this->iLevel === $iLevel; 00445 }
$aCurrent = array() [private] |
Contém os dados do nível corrente.
Contains data of current level.
Ponteiro para um item da pilha BackTrace::$aStack. Os métodos BackTrace::levelDown() e BackTrace::levelUp() são responsáveis por manipular este atributo.
&string[]
Definition at line 89 of file BackTrace.php.
$aStack = array() [private] |
Contém os dados de todos os níveis.
Contains data of all levels.
Possui uma pilha com os dados de todos os níveis do rastreamento. O conteúdo deste atributo é o mesmo retornado pela função debug_backtrace().
string[][]
Definition at line 102 of file BackTrace.php.
Referenced by __construct().
$iLevel = 0 [private] |
Indicador do nível atual.
Pointer of current level.
Contém o índice do escopo atual. O valor desta variável é um índice de BackTrace::$aStack.
Integer
Definition at line 114 of file BackTrace.php.
Referenced by setLevel().
| const SCOPE_FILE = "file" |
Indica que o escopo é de arquivo.
Indicates the scope is an file.
É um dos possíveis valores retornado pelo método BackTrace::getScope(). Indica que o ponteiro de execução faz referência à uma instrução cujo escopo é um arquivo.
string
Definition at line 31 of file BackTrace.php.
Referenced by BackTraceExplain::fetchCall().
| const SCOPE_FUNCTION = "function" |
Indica que o escopo é de função.
Indicates the scope is an function.
É um dos possíveis valores retornado pelo método BackTrace::getScope(). Indica que o ponteiro de execução faz referência à uma instrução localizada em uma função. Para verificar se o escopo é uma função de classe utilize as constantes BackTrace::SCOPE_METHOD e BackTrace::SCOPE_STATIC.
string
Definition at line 46 of file BackTrace.php.
| const SCOPE_METHOD = "->" |
Indica que o escopo é de método.
Indicates the scope is an method.
É um dos possíveis valores retornado pelo método BackTrace::getScope(). Indica que o ponteiro de execução faz referência à uma instrução localizada em um método. Para verificar se o escopo é um método estático utilize a constante BackTrace::SCOPE_STATIC.
string
Definition at line 61 of file BackTrace.php.
| const SCOPE_STATIC = "::" |
Indica que o escopo é de método estático.
Indicates the scope is an static method.
É um dos possíveis valores retornado pelo método BackTrace::getScope(). Indica que o ponteiro de execução faz referência à uma instrução localizada em um método estático. Para verificar se o escopo é um método não estático utilize a constante BackTrace::SCOPE_METHOD.
string
Definition at line 76 of file BackTrace.php.
1.5.9