Ben 4 yaşındaki bir soruyu yanıtlarken ama ne halt biliyorum ...
compact() Burada senin arkadaşın yardımcı olabilir!
Ben hızlı bir şekilde hataları ayıklama ve böyle bir şey gider için bir günlüğüne bir kaç seçilmiş değişkenler üzerinde bilgi dökümü için benzer bir işlev yaptı:
function vlog() {
$args = func_get_args();
foreach ($args as $arg) {
global ${$arg};
}
return json_encode(compact($args));
}
Ben JSON benim günlükleri bu dökümleri için en temiz ve en okunabilir biçimi bulundu ama aynı zamanda print_r() veya var_export () gibi bir şey kullanabilirsiniz.
Bu onu kullanmak nasıl:
$foo = 'Elvis';
$bar = 42;
$obj = new SomeFancyObject();
log('Something went wrong! vars='.vlog('foo', 'bar', 'obj'));
Ve bu günlükleri için böyle yazdırmak istiyorum:
Bir şeyler yanlış gitti! vars = {"foo": "Elvis", "bar": 42, "obj": {"nestedProperty1": 1, "nestedProperty2": "vb"}}
Ancak uyarı bir kelime:. Bu, yalnızca genel kapsamda (yani içeride değil işlevleri veya sınıflar bildirilen değişkenler için çalışacak orada ise bu kapsam erişimi vardır böylece doğrudan) (kompakt uyandırmak gerekir, ama bu gerçekten bu kadar büyük değil Bu anlaşma vlog beri () Bana ihtiyacınız her zaman 16 tuş vuruşlarını kaydederek, temelde json_encode için sadece bir kısayol (compact ('foo', 'bar', 'obj')) 'dir.