if (!function_exists('dd')) {
function dd(...$vars)
{
// ألوان مختلفة ومتناغمة
$colors = [
'#ff9999', '#66b3ff', '#99ff99', '#ffcc99', '#c2c2f0',
'#ffb3e6', '#c2f0c2', '#ffccff', '#ffb3b3', '#c2c2c2'
];
$colorCount = count($colors);
// الحصول على معلومات إضافية
$backtrace = debug_backtrace();
$debugInfo = [
'line' => $backtrace[0]['line'],
'file' => $backtrace[0]['file'],
'function' => $backtrace[1]['function'] ?? 'N/A',
'request' => $_REQUEST,
'session' => $_SESSION ?? []
];
// عرض المعلومات الافتراضية إذا لم يتم تمرير أي متغيرات
if (empty($vars)) {
$vars[] = [
'file' => $debugInfo['file'],
'line' => $debugInfo['line'],
'function' => $debugInfo['function'],
'request' => $debugInfo['request'],
'session' => $debugInfo['session'],
];
}
echo '<div style="font-family: Arial, sans-serif; line-height: 1.5;">';
foreach ($vars as $index => $var) {
// حدد اللون بناءً على الفهرس
$color = $colors[$index % $colorCount];
echo '<div style="background-color: ' . $color . '; padding: 10px; border-radius: 5px; margin-bottom: 10px; color: #fff;">';
// عنوان البلوك
echo '<strong>Breakpoint (' . $debugInfo['file'] . ' on line ' . $debugInfo['line'] . ') ---> Function: ' . $debugInfo['function'] . '</strong><br>';
echo '<strong>Request Data:</strong><br>';
echo '<pre>' . json_encode($debugInfo['request'], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '</pre>';
echo '<strong>Session Data:</strong><br>';
echo '<pre>' . json_encode($debugInfo['session'], JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '</pre>';
// عرض المتغيرات
echo '<strong>Variable ' . ($index + 1) . ':</strong><br>';
if (is_array($var) || is_object($var)) {
echo '<pre>' . json_encode($var, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '</pre>';
} elseif (is_bool($var) || is_null($var)) {
var_dump($var);
} else {
echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
}
echo '</div>';
}
echo '</div>';
die(1);
}
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter