Задать вопрос
  • Почему не работает команда "dump()"?

    @alvskl
    Ну, во-первых, не writeToFilee, а writeToFile
    Во-вторых, если Вы вызываете метод из класса, нужно писать путь от корня (перед Bitrix ставим \ ). То есть:
    \Bitrix\Main\Diag\Debug::writeToFile(...);
    Иначе этот метод ищется в Вашем классе и, разумеется, в нём не находится.
    На статических страницах, в шаблонах компонентов и проч., можно обойтись и без \ перед Bitrix. Однако, лучше взять за привычку ставить \ - это убережёт от многих неприятностей в будущем.

    Кроме того, вместо dump или writeToFile зачастую удобнее использовать
    dumpToFile($var, $varName = '', $fileName = ''), где
    $var - интересующая нас переменная,
    $varName (необязательно) - название переменной в лог-файле (помогает не запутаться в логируемых переменных),
    $fileName (необязательно) - имя лог-файла и путь к нему, если не указан, запишется в __bx_log.log, если файл не существует, то он создастся.

    Например, я обычно использую такую конструкцию:

    \Bitrix\Main\Diag\Debug::dumpToFile($var, date("Y-m-d H:i:s") . ' var description', '/log.txt');

    В этом случае дамп запишется в файл /log.txt в корне сайта, если такого файла нет , то он создастся, а date("Y-m-d H:i:s") добавит к дампу точные дату и время, что тоже иногда бывает очень удобно.
    Т.е. просто копипастите стоку и меняете $var и var description на свои.