Вывод строк и переменных из PHP в консоль браузера

Одним из способов отладки PHP кода является вывод сообщений в консоль браузера. Этот метод позволяет разработчику получить подробную информацию о значении переменных, выполнении функций, при этом не показывая ее пользователю.

Для этого можно воспользоваться статическим классом:

<?php
/**
 * Вывод строк и переменных из PHP в консоль браузера
 */
Class Console
{
	static $message = array();
	
	static public function out()
	{
		if (!empty(self::$message)) {
			echo '<script>';
			foreach(self::$message as $i => $items) {
				foreach($items as $item) {
					echo 'console.' . $i . "('" . addslashes($item) . "');";			
				}
			}
			echo '</script>';
		}	
	}

	static private function _convertVals($args)
	{
		if (!empty($args)) {
		
			$res = array();
			foreach($args as $item) {
				if (is_array($item)) {
					$res[] = json_encode($item, true);
				} else {
					$res[] = addslashes($item);
				}				
			}
			return implode(' ', $res);
		}
	}

	static public function log()
	{
		self::$message['log'][] = self::_convertVals(func_get_args());
	}
	
	static public function info()
	{
		self::$message['info'][] = self::_convertVals(func_get_args());
	}
	
	static public function warn()
	{
		self::$message['warn'][] = self::_convertVals(func_get_args());
	}
	
	static public function error()
	{
		self::$message['error'][] = self::_convertVals(func_get_args());
	}
}
PHP

Метод Console::out() помещается в самый конец HTML-страницы/шаблона, он выводит JS-скрипт с console.log().

	...
	<?php Console::out(); ?>
  </body>
</html>
HTML

Методы Console::log(), Console::info(), Console::warn(), Console::error() задают переменные или строки для вывода, например:

<?php
Console::log('Текст 1', 'Текст 2');
Console::log(array("foo", "bar", "hallo", "world"));
Console::info('Инфо');
Console::warn('Внимание!');
Console::error('Ошибка!');
PHP

Результат:

Вывод в веб-консоль из PHP
04.03.2024, обновлено 08.03.2024
2767
Предыдущая запись Vue.js - работа с табами
Следующая запись Примеры использования JS Fetch

Комментарии 1

four club four club
22 марта 2024 в 16:34
Модификаторы упорядочены неправильно (в соответствии с PSR)
static public -> to -> public static

, чтобы добавить комментарий.

Другие публикации

Время и память выполнения скрипта PHP
Несколько методов как узнать время генерации страницы и затраченный объем памяти PHP скрипта.
16994
+5
Запись в лог-файл в PHP
Несколько вариантов как быстро организовать запись данных в лог-файл.
87369
+13
Вывести массив в виде PHP кода
Для вывода массива в виде PHP кода print_r() и var_dump() не подойдут, поэтому поможет функция...
5276
+6
PHP функция serialize, возможные проблемы
Функция serialize() возвращает строковое представление любого значения (массив, объект и.т.д.). Использование serialize...
6603
+4
Как вывести PHP массив
Примеры использования PHP функций и циклов для вывода всех элементов массива в окно браузера.
96419
+6
Управление выводом ошибок PHP
PHP предлагает гибкие настройки вывода ошибок, среди которых функия error_reporting($level) – задает, какие ошибки PHP попадут в отчет.
22856
+1