Новые книги

Как бы нас сегодня ни огорчало ЖКХ, один неоспоримый плюс все же появился в последнее время. Нам не надо теперь стоять в длинных очередях в сбербанк, чтобы оплатить счета! Перевести деньги за жилье, электроэнергию, отопление, воду и прочее можно за считаные минуты, не выходя из дома. И мы научим вас, как это сделать.

Но ничего не бойтесь! Вам надо только строго следовать нашим простым пошаговым подсказкам-инструкциям, да еще для вашего удобства подкрепленные иллюстрациями. Кроме оплаты ЖКХ, вы научитесь оформлять и отправлять жалобы, писать заявления, находить нужную информацию про ЕИРЦ и капитальный ремонт, расселение аварийных домов и кадастровую оценку вашей недвижимости, незаконные свалки и законные требования к шумным соседям, и многое-многое другое.

И главное – к подвигам вас должен толкать стимул: чем меньше вы будете тратить время на решение скучных бытовых вопросов, тем больше останется времени для вашей насыщенной, творческой, интересной жизни.
Вы хотите создать собственный сайт на просторах Интернета? Причем желательно, чтобы он был красивым, удобным и «неглючным»? Казалось бы, чего проще: существует столько программ – конструкторов сайтов. Однако чтобы создать действительно профессиональный сайт, подобных утилит недостаточно. Вам потребуется знание языков программирования HTML и XHTML, а также каскадных таблиц стилей CSS. И в этом случае книга, которую вы держите в руках, – именно то, что вам необходимо. С ее помощью вы научитесь создавать красиво оформленные, быстрые и профессиональные сайты. С этой книгой ваша страничка никогда не останется незамеченной в Сети!

Сообщение об Ошибках

Учебник РНР
Назад Приложение B. Переход от PHP 3 к PHP 4 Вперёд

Сообщение об ошибке

Изменения конфигурации

В PHP 3 уровень серьёзности ошибки устанавливался как простое цифровое значение, образуемое суммированием чисел, относящихся к ошибкам разных уровней. Обычно это были значения 15 для сообщения обо всех ошибках и 7 для простых уведомляющих сообщений.

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

Уровни сообщений теперь должны конфигурироваться явно с отделением уровней предупреждений, которые не должны генерировать сообщения об ошибках, x-ируя их из символьной константы E_ALL. Звучит сложно? Хорошо, скажем, вы хотите, чтобы система сообщений об ошибках выводила всё, кроме предупреждений простого стиля, которые категоризированы символьной константой E_NOTICE. Затем вы хотите поместить в ваш php.ini следующее: error_reporting = E_ALL & ~ ( E_NOTICE ). Если вы хотите подавить также и предупреждения, вы добавляете в соответствующую константу скобки и используете бинарную операцию '|':
error_reporting= E_ALL & ~ ( E_NOTICE | E_WARNING).

Предупреждение!

Использование старых значений 7 и 15 для установки сообщений об ошибках это плохая идея, так как при этом подавляются некоторые новые добавленные классы ошибок, в том числе - ошибки разборщика. Это может привести к весьма странному поведению, так как скрипты не смогут больше работать без показа сообщений об ошибках.

В прошлом это приводило также к появлению большого количества невоспроизводимых сообщений о bug'ах, когда люди сообщали о проблемах машины скриптов, которые невозможно было отследить, поскольку TRUE case обычно имел отсутствующий символ '}' в нужном файле, о чём разборщик не мог сообщить по причине неправильно сконфигурированной системы сообщений об ошибках.

Поэтому проверка установок системы сообщений об ошибках это первое, что нужно сделать, если ваш скрипт тихо умирает/die. Zend-машину можно считать в данное время в достаточной степени доработанной, чтобы не получать такого странного поведения.

Дополнительные предупреждения

В большом количестве существующего кода PHP 3 используются конструкции языка, которые должны рассматриваться как очень плохой стиль программирования, поскольку работа этого кода может быть легко нарушена изменениями в других местах. PHP 4 ввёл большое количество уведомляющих сообщений в ситуациях, где PHP 3 этого не делал. Это легко исправить, отключив сообщения E_NOTICE, но обычно лучше скорректировать код.

Наиболее общий случай вывода уведомлений теперь - это использование незакавыченных строковых констант в качестве индексов массивов. PHP 3 и 4 не интерпретируют эти строки, если не известно ключевое слово или константа с этим именем, но если константа с этим именем была определена где-нибудь ещё в коде, это может нарушить работу вашего скрипта. Это может даже представлять опасность для защиты, если взломщик переопределяет строковые константы способом, когда скрипты дают права доступа, которые не предполагались. Так, PHP 4 будет теперь предупреждать вас об использовании незакавыченной строковой константы, как, например, в $_SERVER[REQUEST_METHOD]. Изменение этого на $_SERVER['REQUEST_METHOD'] осчастливит разборщик и значительно улучшит стиль и повысит безопасность вашего кода.

Другое, о чём сейчас также сообщает PHP 4, это использование неинициализированных переменных или элементов массива.

НазадОглавление Вперёд
Поведение разборщика ВверхИнициализаторы