Nasıl benim işlevi denilen script dosya öğrenebilirim?
Örneğin,
function sthing() {
echo __FILE__; // echoes myself
echo __CALLER_FILE__; // echoes the file that called me
}
Backtrace, bilgilerin bu tür mevcut olmalıdır: Bir çözüm debug_backtrace
a> işlevini kullanmak olabilir.
Gordon bir açıklamada da belirttiği gibi sadece bilgi değil, onunla çalışmak bu çıkış istiyorsanız Veya, aynı zamanda debug_print_backtrace
a> kullanabilirsiniz.
For instance, with temp.php
containing this :
<?php
include 'temp-2.php';
my_function();
ve temp-2.php
Bu içeren:
<?php
function my_function() {
var_dump(debug_backtrace());
}
Calling temp.php
(i.e. the first script)
from my browser gets me this output :
array
0 =>
array
'file' => string '/.../temp/temp.php' (length=46)
'line' => int 5
'function' => string 'my_function' (length=11)
'args' =>
array
empty
Fonksiyon denir edildiği bir - orada, ben "temp.php
" dosya var.
Of course, you'll have to test a bit more (especially in situations where the function is not in the "first level" included file, but in a file included by another one -- not sure debug_backtrace
will help much, there...) ; but this might help you get a first idea...
Pascal Martins'in önerisine ek olarak, PECL uzantısı APD yükleyin ve apd_callstack() gibi bir şey, (alıntı örnek) kullanabilirsiniz
// returns an array containing an array of arrays.
Each array appears to contain:
[0] = function name
[1] = filename that contains function
[2] = *calling* line number in *calling* file
[3] = An array which is usually empty
Bu bir PECL uzantısıdır ve Zend Optimizer engel olabilir çünkü Ama, debug_backtrace () ile gitmeyi daha iyi olabilir.