PHP nasıl tanımlı sabitler incelemek mi?

4 Cevap php

Ben NetBeans Xdebug CodeIgniter kaynak kod boyunca adım adım atıyorum ve ben onlar tanımlandığı gibi tanımlanan sabitleri görmek için bir yol arıyorum. Bu mümkün değilse, tüm tanımlanmış sabitleri göstermek için başka yollar var mı?

4 Cevap

get_defined_constants function. It will return an array of all the defined constants in the code up to the point of the function call. You can then use print_r dizi yazdırmak için bir göz atın.

Muhtemelen uyarlamak istiyorum:

$arr = get_defined_vars();

Ben bulabildiğim en iyi hata ayıklama modunda sabit hat idam var ise F7 (adım) basmaktır.

define('SOME_CONSTANT','VALUE');

Ve sonra çift tıklayın "SOME_CONSTANT", sağ tıklayın ve yeni bir saat (kısayol: shift + ctrl + F7) ekleyin seçti ve eklemek yeni izle pencere, önceden doldurulmuş sürekli görünür girmek seçin ve Değişkenler içinde sabit değeri görmelisiniz olacak (seçtiğiniz mavi elmas varsa göster "değişkenleri görüntülemek içeride saatler") & Pencere paneli Saatler.

Bilmek de oldukça kullanışlı, sen Debugging'i arıyor aksine onların değerini görmek için değişkenler üzerinde gezdirin> Değişkenler pencere paneli ... Sadece kullanarak ... varsayılan olarak kapalı ... görünüşe adamcağız olarak açmak gerekir son xdebug ve bugüne kadar benim için iyi oldu.

Araçlar> Seçenekler> PHP> Genel sekmesi> ayıklama Bölüm> Saat ve Balon değerlendirme kontrol

Umarım bu yine 2 yıl sonra yararlı olacaktır.

Sadece özel / kullanıcı oluşturulan sabitlerini gösterir gibi kullanmak Uygulamada bu tür oldukça iyi.

print_r(var_export(get_defined_constants(true)['user'], true));

Önceden etiketleri içinde bu şal ya da sadece kaynağını görüntüleyebilir ve Sen tanımlanan tüm şeyler çok güzel bir dizi alırsınız.

Bu php 5.3 ile çalışmak için gidiyor unutmayın. * 5.4. * Bunun cezası çıkışları nerede.

In earlier versions of php, get_defined_constants() must be assigned to a variable first, before output. Something like this.

$gdc = get_defined_constants(true);
print_r( var_export($gdc['user'], true) );