ГлавнаяОтзывы и пожеланияСтатьи
Функции по алфавиту:    a     b     c     d     e     f     g     h     i     j     k     l     m     n     o     p     q     r     s     t     u     v     w     x     y     z  

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 ("")`);
?>



Другие функции на a:

abs
addcslashes
addslashes
apache_child_terminate
apache_note
apache_setenv
array_change_key_case
array_count_values
array_flip
array_keys
array_key_exists
array_map
array_merge
array_merge_recursive
array_multisort
array_pop
array_push
array_reduce
array_reverse
array_shift
array_slice
array_splice
array_unique
array_unshift
array_walk
arsort
asin
asort
aspell_check
aspell_check_raw
aspell_new
aspell_suggest
assert_options
atanh


EXPERTGS.ru описание функций php.