Архив рассылки -программирование на PHP

         

Но в процессе написания функции...


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


Мы еще не знаем, какие ошибки у нас будут возникать в процессе работы наших скриптов. Поэтому создадим саму процедуру с несколькими ошибками, а в процессе работы над проектом будем добавлять в нее новые данные.

Для наглядности будем использовать в качестве базы хранения ошибок обычный массив переменных. Для больших проектов это не самый разумный способ, но он очень нагляден и понятен. А место хранения описания ошибок мы всегда можем изменить, если того потребуют обстоятельства.

В общем, функция возврата текста ошибки по ее номеру — феноменально примитивна. Ее можно разделить на две составляющие: описание базы ошибок и собственно возврат описания ошибки по ее номеру. Смотрим.

function err_to_str($num) { // Фатальные ошибки $err[1]="Ошибка управления или попытка взлома системы. Администратору отправлено сообщение!"; $err[2]="Ошибка авторизации."; // Ошибки работы с SQL $err[11]="Ошибка выполнения SQL-запроса"; // Ошибки для web-серфера $err[101]="Ошибка выполнения SQL-запроса"; // Отправка ошибки администратору if($this->DEBUG_LEVEL>=$num) $this->mail_to_noc($err[$num]); // Возврат текста ошибки return($err[$num]); }
Почти все понятно без объяснений.

Мы передаем номер ошибки нашей функции, которая хранит этот номер в переменной $num.

$err[2]="Ошибка авторизации."; — это мы занесли строку "Ошибка авторизации" в ячейку массива под номером 2. Т.е. 2 — это у нас уже зафиксированный номер ошибки, которые будет возбуждаться при нарушении правил авторизации: при неверной попытке доступа в защищенную часть сайта.

return($err[$num]); — собственно, возврат текста ошибки.



Содержание раздела