Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Отладка скриптов в php

   Даже при разработке маленького сайта нужно отлаживать свой код и исправлять ошибки и баги. Без средств отладки обойтись у Вас никак не получится, разве что Вы ясновидящий и можете предсказать, где была допущена ошибка)))) Чтобы полноценно начать писать свой код, необходимо позаботится о выводах ошибок. Если Вы только начинащий программист, то обязательно должны сначала, хотя бы, ознакомится с системой отладки скриптов.

   В php все ошибки деляться на такие основные категории:

Название Описание Число Появление
E_ALL все виды ошибок и предупреждения (кроме, E_STRICT) 2047  
E_ERROR критические ошибки, которые приводят к остановке выполнения скрипта 1  
E_WARNING предупреждения (не являються критическими ошибками, означает что скрипт продолжает свою работу) 2  
E_PARSE ошибки компиляции при проверке кода скрипта перед его выполнением 4  
E_NOTICE уведомления во время выполнения скрипта (например, найден баг похожий на ошибку, но возможно он был допущен преднамерено и является рабочим кодом в следствие инициализации скрипта) 8  
E_STRICT уведомления во время выполнения скрипта по изменению кода для улучшения его интерпретации, например предупреждать Вас об использовании нежелательных (устаревших) функций 2048 PHP 5
E_CORE_ERROR критические ошибки связаные непосредственно в самом PHP (например, отсутствуют файлы библиотеки) 16 PHP 4
E_CORE_WARNING предупреждения связаные непосредственно с самим PHP, не критические ошибки (означает что скрипт продолжает свою работу) 32 PHP 4
E_COMPILE_ERROR критические ошибки во время компиляции 64 PHP 4
E_COMPILE_WARNING предупреждения во время компиляции, не критические ошибки (означает что скрипт продолжает свою работу) 128 PHP 4
E_USER_ERROR пользовательские критические ошибки 256 PHP 4
E_USER_WARNING пользовательские предупреждения 512 PHP 4
E_USER_NOTICE пользовательские уведомления 1024 PHP 4

В php существует очень детальная и мощная система отладки, которую можно настроить как непосредственно в самом скрипте так и в настройках непосредсвенно самомого PHP.

   Чтобы настроить отладку вывод ошибок в настройках php, Вам необходимо открыть файл php.ini (находится в корне каталога с установленым php) и найти в нем блок Error handling and logging. Чтобы включить показ ошибок на дисплее Вам необходимо раскомментировать следующие строки:

   error_reporting = E_ALL & ~E_NOTICE | E_STRICT

, где E_ALL - выводим все ошибки,& - и, ~E_NOTICE | E_STRICT - пропускаем уведомления E_NOTICE или E_STRICT.

   Для отладки php скриптов непосредственно в скриптах существуют специальные функции, которые отображают все выявленые ошибки:

Название Описание
error_reporting() функция устанавливает какие виды ошибок следует далее выводить и возвращает предыдущий вид ошибок, например:

<?php
error_reporting(0); //отключает все сообщения об ошибках
error_reporting(E_COMPILE_ERROR | E_WARNING | E_STRICT);
error_reporting(8);
?>

trigger_error(),
аналогичная функция: user_error()
генерирует сообщения пользователя под видом ошибок E_USER_ERROR, E_USER_WARNING и E_USER_NOTICE, например:

<?php
if (empty($a)) trigger_error ("Критическая ошибка. Нет данных.", E_USER_ERROR);
?>

Теперь Вы можете настроить в своих скриптах нужный вывод ошибок или наоборот отключить (если это удаленный сервер и Вы не хотите чтобы пользователи видели все предупреждения и уведомления).

   В php текст ошибок, как правило детально описывает выявленую ошибку и указывает номер строки с ошибкой, например:

<?php
echo 0
?>

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\apache\localhost\www\info-pages\www\index.php on line 1

   Данная ошибка синтаксическая, строка 1 не закрыта точкой с запятой.

   Помимо вывода ошибок при написании кода очень часто приходится проверять передается и соответсвенно получается ли нужная информация в переменные php. Для этогоразработчиками используется функция var_dump(). В отличие от функции echo или print, функция var_dump позволяет выводить на экран, также, массивы. Например:

<?php

$a = array (4, 2, "a"=>45, "b"=>array(1,2));
$b = "переменная b";
$c = 3;

echo "<pre>";
var_dump ($a);echo "<br>";
var_dump ($b);echo "<br>";
var_dump ($c);echo "<br>";
echo "</pre>";

?>

Выведет на экран:

array(4) {
[0]=>
int(4)
[1]=>
int(2)
["a"]=>
int(45)
["b"]=>
array(2) {
[0]=>
int(1)
[1]=>
int(2)
}
}

string(12) "переменная b"

int(3)  

   Надеюсь, что выше перечисленные инструменты упростят Вам разработку скриптов на php и сделают Ваш код более надежным.

435
3.8 16
Рейтинг: +3.8 , голосов 16
Вы еще не голосовали!
Добавить комментарий
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.

Комментариев еще нет, Вы будете первым!

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4