Ответить
лучше использовать, так не будет проблем с отображением ошибок соответствующих версиям пыхи. Особенно заметно в 5.1. А работа, сданная клиенту лучше: error_reporting(E_PARSE);
1
Дебага
Отправлено: 31 Мая 2011#1
Вопрос на засыпку кодерам профессионалам по поводу дебага. Был в Майкрассофт базарил с Билл Гейцом он не в курсах он не шарит в серверных языках по этому пишу на Фапосе. Хочу знать разные примочки для выявления ошибок либо проверок на передачу значений. Чтоб не плавить мозг и не трусить вольфрам, говорю про методы дебага. Просто я увлекался в детстве радиоэлектроникой и у меня есть куча примочек для проверки и прозвонке разных цепей блоков и модулей, а также для проверке отдельных элементов и их сборок виде интегральных микросхем. Хочу узнать есть что-то подобное в аналогий пхп. к примеру вот var_dump - дамп информации о переменной.
Отредактировано автором 31 Мая 2011
Бывает настолько сложно, что проще некуда
Отправлено: 1 Июн 2011#2
для дебага есть пара простых правил и все. Дальше уже полет твоей фантазии.
Правило дебага 1
В самом начале своего скрипта, в самом начеле его работы ставим строки
Правило дебага 2
Для с ужения места поиска ошибки или другой ситуации, в которой вам надо узнать значение переменной или константы, пользуйтесь специальными функциями. Например var_dump() если работать через браузер, выводит очень непонятные данные. Точнее они в сложном для восприятия виде. Для того, что бы вывод стал красивым и читабельным, заключите var_dump() в теги <pre>
Правило дебага 3
Создайте свои собственные инструменты, для ускорения работы. Например, если взять второй пункт этого списка, то мы увидим как лучше юзать var_dump(), но это не удобно. Да и к тому же много писать. А если сделать так
Эта функция не только выводит данные в удобном виде, но вызывается за секунду, так как надо написать всего несколько символов. Так же она может отключаться и включаться. Например, когда вы закончили дебаг, у вас по всем скриптам осталось немеряно вызовов функции и искать их лень. Вы просто задаете нужную опцию и все...Вызов этой функции уже ничего не делает.
Ну как-то так)
Правило дебага 1
В самом начале своего скрипта, в самом начеле его работы ставим строки
1
2
<?php error_reporting(E_ALL);
display_errors(1);?>
Правило дебага 2
Для с ужения места поиска ошибки или другой ситуации, в которой вам надо узнать значение переменной или константы, пользуйтесь специальными функциями. Например var_dump() если работать через браузер, выводит очень непонятные данные. Точнее они в сложном для восприятия виде. Для того, что бы вывод стал красивым и читабельным, заключите var_dump() в теги <pre>
1
2
3
<?php echo '<pre>';
var_dump($var);
echo '</pre>';?>
Правило дебага 3
Создайте свои собственные инструменты, для ускорения работы. Например, если взять второй пункт этого списка, то мы увидим как лучше юзать var_dump(), но это не удобно. Да и к тому же много писать. А если сделать так
1
2
3
4
5
<?php function pr($data) {
global $options;
if ($options['display_errors'])
echo '<pre>' . print_r($data, true) . '</pre>';
}?>
Эта функция не только выводит данные в удобном виде, но вызывается за секунду, так как надо написать всего несколько символов. Так же она может отключаться и включаться. Например, когда вы закончили дебаг, у вас по всем скриптам осталось немеряно вызовов функции и искать их лень. Вы просто задаете нужную опцию и все...Вызов этой функции уже ничего не делает.
Ну как-то так)
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 1 Июн 2011#3
Obmer, а еще можно воспользоваться нормальными средствами для разработки. В качестве примера можно привести NetBeans, для работы которого достаточно установить модуль XDebug 2.0 или выше. Дальнейшая работа будет аналогична стандартному дебагингу на языках высокого уровня (C++, Java, Delphi и т.п.), но чуть медленнее.
Подробности про возможности последней версии NetBeans - .
Подробности про процесс отладки в NetBeans - .
Подробности про возможности последней версии NetBeans - .
Подробности про процесс отладки в NetBeans - .
Отредактировано автором 1 Июн 2011
Отправлено: 2 Июн 2011#4
Да, можно воспользоваться советом Wasja, но мне например, удобнее в нотепаде++. Привычка))
Я горжусь тем, что создал . И люблю нашу команду)
Отправлено: 13 Июн 2011#5
1
2
<?php error_reporting(E_ALL ^ E_NOTICE);?>
лучше использовать, так не будет проблем с отображением ошибок соответствующих версиям пыхи. Особенно заметно в 5.1. А работа, сданная клиенту лучше: error_reporting(E_PARSE);
Отредактировано автором 13 Июн 2011
1
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 8. Зарегистрированных: 0. Гостей: 8.

