Fonksiyonları (bir değişkenin açısından) denilen ne bul

3 Cevap php

Ben bir değişkene neler yapıldığını bilmek için nasıl anlamaya çalışıyorum.

İşte bir örnek:

function a($hello) {

$out .= strtoupper(ucwords(strtolower($hello)));
return $out;

}

echo function_trace('$hello') // returns array(strtoupper,ucwords,strtolower)

Thanks! Matt

3 Cevap

Değişkenler "devlet" ya da "tarih" tutmayın, çünkü bunu yapmak için kolay bir yolu, gerçekten yok. Düzgün işlev çağrıları zincirleri dinlenmek edebilmek için zorunluluk dışında depolanan varolan yürütme yığını, üretilen çünkü yığın izleri (muhtemelen sizin ilham var burada) mümkündür.

Ayrıca, örnek bir fonksiyon parametre iz çalışıyor - ama bu parametre değişken yalnızca fonksiyonu kapsamında tanımlanır. Eğer bir küresel Scoped $hello, tek olarak değil arıyoruz düşünmek istiyorum - işlevin dışında başvuru çalışılıyor tercüman belirtmek için çalışıyoruz ne değişken bilmeden neden olacaktır fonksiyonunda bir argüman.

) Orada istiyor tam olarak ne PHP hiçbir kanca, ama debug_backtrace bir çağrı yığını (alabilirsiniz:

http://php.net/manual/en/function.debug-backtrace.php

Bu sizin için soruyorsun tam olarak ne yapmak mümkün değil, ama size bu işlev iz ile yapmak umut ne hakkında biraz daha fazla bağlam verdi belki eğer biz bazı öneriler verebilir?