Новые книги

C момента выхода первого издания в 1996 году книга "JavaScript: Подробное руководство" превратилась в библию программистов на JavaScript. За эти годы было издано более 500000 экземпляров, и веб-разработчики по-прежнему с восторгом отзываются о ней.

Эта книга - одновременно и руководство программиста, и полноценный справочник по базовому языку JavaScript и клиентским прикладным интерфейсам, предоставляемым веб-броузерами.
Книга развивает идеи, изложенные автором в статье, опубликованной в «Harvard Business Review» и получившей престижную премию компании McKinsey за прикладной характер и новаторское мышление в сфере бизнеса и управления. Джон Коттер призывает организации к созданию комбинированной системы управления, сочетающей проверенную временем, надежную и эффективную иерархическую организационную структуру с гибкой и динамичной сетевой структурой, схожей с устройством начинающей компании (стартапа). По мнению автора, комбинированная система управления предоставляет крупным, зрелым компаниям ключевой инструмент для того, чтобы соответствовать требованиям быстро меняющейся среды.

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

assert



Учебник РНР
Назад Вперёд

assert

(PHP 4)

assert - проверяет, не является утверждение/assertion ложным (FALSE).

Описание

int assert (string|bool assertion)

assert() проверяет данное утверждение assertion и выполняет определённую акцию, если результат FALSE.

Если assertion задано как строка, оно будет вычислено функцией assert() как РНР-код. Преимуществом строковых assertion является меньшая нагрузка при неудаче утверждения, когда проверка утверждения отключена.

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

Утверждения не должны использоваться для нормальных операций прогона программы вроде проверки параметров ввода. Основным правилом будет: ваш код всегда должен иметь возможность работать корректно, если проверка утверждения не активирована.

Поведение assert() может конфигурироваться функцией assert_options() или .ini-установками, описанными на странице об этой функции в данном учебнике.

функция assert_options() и/или директива конфигурации ASSERT_CALLBACK позволяют установить callback-функцию для обработки неудавшихся утверждений.

Обратные вызовы/callbacks assert() обычно используются для построения утилит автоматической проверки, поскольку они позволяют легко захватить код, передаваемый в утверждение вместе с информацией о том, где утверждение было сделано. Хотя эта информация может быть захвачена другими методами, использование утверждений позволяет делать это намного быстрее и легче!

Сallback-функция должна принимать три аргумента. Первый аргумент будет содержать файл, в котором утверждение не удалось. Второй аргумент будет содержать строку, в которой утверждение потерпело неудачу, а третий аргумент будет содержать выражение, которое не удалось выполнить (если имеются - такие литеральные значения как 1 или "two" не будут передаваться через этот аргумент).

Пример 1. Обработка неудавшегося утверждения специальным обработчиком
<?php
// Активизирует утверждение и делает его тихим/quiet
assert_options (ASSERT_ACTIVE, 1);
assert_options (ASSERT_WARNING, 0);
assert_options (ASSERT_QUIET_EVAL, 1);

// Создаётся функция-обработчик
function my_assert_handler ($file, $line, $code) {
    echo "<hr>Assertion Failed:
        File '$file'<br>
        Line '$line'<br>
        Code '$code'<br><hr>";
}

// Устанавливается callback/обратный вызов
assert_options (ASSERT_CALLBACK, 'my_assert_handler');

// Делается утверждение, которое должно потерпеть неудачу
assert ('mysql_query ("")');
?>

Назад Оглавление Вперёд
assert_options Вверх dl