1 заметка с тегом

библиотеки

Выводим информацию о переменной на PHP

Когда нужно вывести информацию о переменной на экран я использую var_dump() или print_r(). Эти функции помогают в быстрой отладке небольшого участка кода, но для больших переменных использовать их неудобно. В репозитории роутера Klein я нашёл легковесную функцию для вывода переменных в удобочитаемом виде. Для массивов и объектов показываются ключи с их элементами в структурированном виде, а для скалярных переменных, кроме булевых, будет выведено само значение. Посмотрите на эту функцию:

<?php

/**
 * Выводит информацию о переменной
 *
 * @param mixed $obj
 * @return string
 */
function dump($obj)
{
    if (is_array($obj) || is_object($obj)) {
        $obj = print_r($obj, true);
    }

    echo '<pre>' . htmlentities($obj, ENT_QUOTES) . "</pre><br>\n";
}

Этот простой способ хорош только когда нужно посмотреть содержание массива или объекта. Для более детального разбора переменных я использую библиотеку UtilPHP. Это коллекция полезных функций и сниппетов. Для дебаггинга существует функция util::var_dump(), которая красиво печатает значение переменной: показывает типы, правильно отображает булевые значения, массивы и объекты выводятся в древовидном виде, содержимое которых можно сворачивать.

 object(SimpleObj) 
[
"array" => array(6)
[
"resource" => resource("stream") "Resource id #9"
"string" => string(11) "lorem ipsum"
"number" => int(2)
"float" => float(1.618)
"bool" => bool(true)
"null" => NULL
]

]

Мне нравится дизайн этой функции, он лёгкий и удобный. Лично я использую её в своих небольших проектах, но для подробного анализа переменных лучше присмотреться к Kint. Это гибкий инструмент с множеством настроек. На мой взгляд самое мощное решение для отладки крупного проекта.

2016   php   библиотеки   скрипты   сниппеты