Bazı kullanıcı tanımlı işlevlerle var_dump'ı değiştirmenin mümkün olup olmadığını merak ediyorum. Çeşitli modüllerin ya da bazı paketlerin her türlü boşaltma işlevini kullanabileceğinizi biliyorum. Ama elde etmek istediğim, projemde "var_dump" kullanan herhangi birinin, farklı bir sözdizimi kullanmaya gerek duymadan, "bilmeden" yeni işlevimi almasıdır. Sadece eğlenceli bir şekilde geçersiz kılın. TeşekkürlerVar_dump'ı PHP'de özel bir işlevle değiştirin
cevap
PHP, yeniden bildirim işlevlerini desteklemiyor AFAIK. Ancak, duruma özel olarak yapabileceğiniz küçük bir numara var.
var_dump($a);
var_dump($b);
var_dump($c);
Sadece şöyle bir ad alanındaki bu sarabilirsiniz:
namespace OverridingGlobalNamespace {
function var_dump($_) {
echo "My custom var_dump";
}
var_dump($a); //Will use namespace function instead of PHP function
var_dump($b);
var_dump($c);
}
Merhaba, bu ilginç bir çözüm gibi görünüyor, gerçekten işe yarayıp yaramadığını kontrol etmeliyim;) – Asped
dediğiniz gibi - bu durum belirli, hala tüm var_dump çağrılarına uygulayamıyorum. Bu yüzden imkansız olduğunu düşünüyorum :) – Asped
@Asped Bunun ideal bir çözüm ya da iyi bir fikir olduğunu iddia etmiyorum. Ben sadece dilin ilginç bir tuhafı olduğunu düşünüyorum. İdeal olarak, var_dump'ını değil, yapmak istediğiniz şeyi yapan (ve hata ayıklama ve üretim ortamlarında farklı şekilde tanımlayabileceğiniz) kendi sarmalayıcı işlevini kullanmak istemezsiniz. – apokryfos
Ne istediğini elde etmek için PHP kaynağını düzenlemek gerekir
bir dosyada bu kodu olduğunu varsayalım. :-) – IkariHer zaman fonksiyonunu yazarım '' '' '' fonksiyon vd ($ var) {echo '
'; } '. Bunu sana tavsiye ederim. –