За последние 24 часа нас посетил 26641 программист и 1511 роботов. Сейчас ищут 940 программистов ...

PHP отладка в нужном месте

Тема в разделе "PHP для новичков", создана пользователем Freakmeister, 13 апр 2012.

  1. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    Ищу способ засунуть отладочную информацию о PHP-ошибках в нужное место на странице. Обычно она отображается сверху страницы, и часто это "разрывает" шаблон, а иногда вообще не читается из-за абсолютного позициирования некоторых блоков. Есть ли способ не выводить отладочную информацию, а сохранять её в переменную?
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    set_error_handler(), перехватывай, сохраняй, затем если сохранялка непустая выводи где надо
     
  3. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    по мне так нагляднее лог тейлом открыть
     
  4. Freakmeister

    Freakmeister Активный пользователь

    С нами с:
    20 дек 2009
    Сообщения:
    888
    Симпатии:
    5
    А есть способ узнать о наличии ошибки, без переопределения отладочной функции? Чтоб можно было написать что-то типа:
    if (ащипка) { die(); }
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    это как?
    ошибка произойдет на строчку до твоей конструкции...
     
  6. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Есть предположение, что тебе может быть интересно почитать про исключения в PHP.

    Добавлено спустя 1 минуту 16 секунд:
    PS. Если заменить в адресе ссылки .ru на .net - то можно почитать буржуйские комменты по теме.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    исключения рулят. Без них туго делать сложные штуки и толково работать с базой.
    кстати мускулИ переводится в работу с исключениями такой строкой
    mysqli_report(MYSQLI_REPORT_STRICT);

    и вместо ворнингов в лог он будет кидать эксепшены.

    Добавлено спустя 1 минуту 33 секунды:
    и да, эксепшены не обязательно должны быть в той же функции или в том же методе что и try. Это очень удобно, можно бросить исключение из глубин программы, и оно будет услышано.