Ошибки в D7
В старом ядре API пытался додумывать за пользователя/разработчика, прощал ему ошибки и неточности. Результатом такого поведения обычно бывают сложно-отлавливаемые ошибки. К тому же такой подход порождает массу неявных соглашений, которые нужно знать.
Например, пользователь/разработчик выбирает записи для удаления по фильтру. При этом он случайно описывается в названии фильтра. Типичное API старого ядра проигнорирует этот фильтр и вернет все записи. Следующая инструкция эти все записи успешно удалит.
В D7 идеология другая. API ничего не должен додумывать за пользователя. API должен адекватно реагировать, если он встречается с неожиданной для него ситуацией, такой как незнакомый фильтр, не передан id, не хватает значения, лишнее значение, не должно вызываться в этом режиме и т.д.
При выводе ошибки на экран (если режим отладки отсутствует), подключается файл /error.php
Файл /error.php располагается в корне сайта.
Может содержать, например, вывод сообщения об ошибке.
.
| Пример файла error.php |
|---|
php <table cellpadding="1" cellspacing="0" width="35%" bgcolor="#9C9A9C"> <tr> <td><table cellpadding="5" cellspacing="0" width="100%"> <tr> <td bgcolor="#FFFFFF" align="center"><FONT face="Verdana, Arial, Helvetica, sans-serif" size="-1"> <font color="#FF0000"><b><?echo "Нет такого фильтра!"?></b></font><br>Проверьте имя и попробуйте снова.</font></td> </tr> </table></td> </tr> </table> |
В этом файле вы можете вывести ошибку в дизайне сайта, а также установить код статуса HTTP (например, "500 Internal Server Error").