Avatar ·

كيفية حفظ نتيجة var_dump() في سلسلة نصية في PHP؟

مرحبًا بالجميع! أنا مطور PHP مبتدئ، وقد واجهت مشكلة. غالبًا ما أستخدم var_dump() لتصحيح الأخطاء لعرض محتويات المتغيرات أو المصفوفات أو الكائنات. لكن هناك مشكلة واحدة: var_dump() يخرج النتيجة مباشرة إلى المتصفح (أو إلى وحدة التحكم).

أحتاج إلى حفظ هذا الإخراج في متغير نصي، مثلاً لتسجيله في ملف سجل (log) أو إرساله عبر البريد الإلكتروني لتحليل خطأ في بيئة الإنتاج. مجرد تعيين نتيجة var_dump() لمتغير لا يعمل — الدالة ترجع void (لا ترجع شيئًا)، بل تخرج البيانات مباشرة.

إليك مثال على كود لا يعمل كما أريد:

<?php
$data = ['name' => 'إيفان', 'age' => 30, 'skills' => ['PHP', 'JavaScript']];
$dump_result = var_dump($data); // في $dump_result سيكون null، والإخراج سيذهب إلى المتصفح
echo "النتيجة: " . $dump_result; // فارغ
?>

لقد جربت استخدام التخزين المؤقت (buffering)