Новые книги

Бенчмаркинг – это исследование и внедрение лучшего из опыта конкурентов и предприятий других сфер деятельности. Бенчмаркинг способствует повышению уровня конкурентоспособности фирмы, увеличению прибыли, качества предлагаемых товаров и услуг. В книге раскрываются понятия и виды бенчмаркинга, рассматриваются методы проведения исследований, оценка среды, разработка и внедрение бенчмаркинга на предприятии.

Книга предназначена для руководителей предприятий, руководителей отделов предприятия, преподавателей и студентов экономических специальностей.
Не так давно от столь популярного в наше время прилагательного «креативный»1 образовалось новое существительное. Если вы — один из нас, миллионов людей, зарабатывающих на жизнь своим умом, вас можно смело назвать представителем «креативного класса», или попросту — креативщиком. Каждый день вы решаете проблемы, предлагаете нововведения, разрабатываете системы, создаете дизайнерские решения, пишете, занимаетесь стратегическим планированием и работаете головой. Именно благодаря вам рождаются новые концепции и формируются целые рабочие системы, закладывающие основу будущего экономического роста, — создается принципиально новый продукт, которого не было и в помине, пока на сцену не вышли вы.

Может быть, вы вовсе и не собирались становиться творческой личностью. Более того, возможно, вы даже содрогаетесь всякий раз, когда вас называют «креативным». И это вполне понятно, ведь ярлык «креативщик» обычно вызывает в воображении этакого рекламного гуру из Сохо2, мельтешащего туда-сюда в своих фирменных джинсах за 500 долларов. Скорее всего, вам приятнее называть себя стратегом или менеджером, что звучит более определенно, более реально. Называйте себя как пожелаете, но если вы отвечаете за решение проблем, разработку стратегий или напряженно трудитесь над генерированием новых идей, я буду называть вас креативщиком, даже если выходит, что вы стали им случайно.

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



Учебник РНР
Назад Приложение 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, это использование неинициализированных переменных или элементов массива.

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