debug.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief отладочные функции dd/rd/ld
6  */
7 
8 
9 /**
10  * отладочная функция, которая принимает любое количество аргументов и выводит их дамп на экран, а затем
11  * завершает работу всей программы.
12  *
13  * @param mixed ...$vars
14  */
15 function dd(...$vars)
16 {
17  rd(...$vars);
18  exit(1);
19 }
20 
21 
22 /**
23  * выполяет ту же функцию что и rd() но не завершает работу программы
24  * Это var_dump() с отображением текущего времени выполнения программы и компактным форматированием pre тегами
25  */
26 function rd(...$vars)
27 {
28  if (empty($vars)) {
29  $vars[0] = null;
30  }
31  foreach ($vars as $v) {
32  echo '<pre style="display:block;font-size:12px;color:#dcdcaa;background:#1e1e1e;line-height:16px;padding:10px;font-family:monospace;margin:8px 0;overflow:auto;position:relative;">';
33  var_dump($v);
34  echo '<pre style="display:inline-block;font-size:9px;color:#000000;background:rgba(255, 255, 255, 0.6);padding:2px;font-family:monospace;margin:0;overflow:auto;position:absolute;top:0;right:0;">exec time: ' . round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']), 5) . '</pre>';
35  echo '</pre>';
36  }
37 }
38 
39 
40 /**
41  * отладочная функция, которая принимает любое количество аргументов и записывает их дамп в лог файл.
42  * Запись прекращается если файл превысил размер 50 мб.
43  *
44  * Вызов функции без аргументов, прекращает работу программы и выводит все записанные дампы на экран
45  *
46  * Вызов функции с аргументом string == 'rm', прекращает работу программы, выводит все записанные дампы на экран, и удаляет файл с дампами.
47  *
48  * @param mixed ...$vars
49  */
50 function ld(...$vars)
51 {
52  $filename = __DIR__ . '/../temp/ld';
53  if (empty($vars) || $vars[0] == 'rm') {
54  header("Content-Type: text/plain; charset=utf-8");
55  echo file_get_contents($filename);
56  if ($vars[0] == 'rm') {
57  unlink($filename);
58  }
59  exit;
60  }
61  if (file_exists($filename) && filesize($filename) > 52428800) {
62  return;
63  }
64  $str = '';
65  foreach ($vars as $v) {
66  $str .= "---------- ";
67  $str .= (date('r')) . '; exec time: ' . round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']), 5);
68  $str .= " ----------\n\n";
69  $str .= var_export($v, true) . "\n\n";
70  }
71  $str .= "\n\n*************************************************************************\n\n\n\n";
72 
73  $file = new \SplFileObject($filename, 'a+b');
74  $file->flock(LOCK_EX);
75  $file->fwrite($str);
76  $file->flock(LOCK_UN);
77 }
if($_POST['code']==file_get_contents($_SERVER['DOCUMENT_ROOT'] . $row->file)) $file
Definition: edit-code.php:30
rd(... $vars)
Definition: debug.php:26
ld(... $vars)
Definition: debug.php:50
dd(... $vars)
Definition: debug.php:15
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']
Definition: from-user.php:36
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit
Definition: install.php:198