Главная > Программирование > РНР: настольная книга программиста
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Глава 10. Предопределенные константы и их использование

В PHP определено несколько констант и имеется механизм для определения других констант во время выполнения программы. Следует также отметить тот факт, что сами константы очень схожи с переменными, но они определяются с помощью функции define(), и после этого им уже нельзя присвоить какое-либо другое значение. В этой главе вы сможете познакомиться более детально со всеми аспектами констант и изучить предопределенные константы и их использование.

Список предопределенных констант (доступны всегда):

_FILE_

имя файла, который анализируется в данный момент скрипта. При использовании во включенном (included) или необходимом (required) файле дается имя включенного файла, но не имя родительского.

_LINE_

номер строки в текущем файле скрипта, анализируемой в данный момент. При использовании во включенном (included) или необходимом (required) файле дается позиция во включенном файле, но не в родительском.

PHP_VERSION

строковое представление версии РНР, используемой в настоящий момент, например '3.0.8-dev'.

PHP_OS

имя операционной системы, в которой работает синтаксический анализатор РНР, например 'Linux'.

true

значение «истина».

false

значение «ложь».

E_ERROR

указывает на ошибку, отличную от ошибки анализатора, которую невозможно устранить.

E_WARNING

указывает места, где имеется что-то ошибочное, но работа все равно продолжится; их может «перехватывать» сам скрипт. Примером может быть ошибочное регулярное выражение В ereg().

E_PARSE

в файле скрипта обнаружен недопустимый синтаксис. Восстановление невозможно.

E_NOTICE

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

E_ALL

равна сумме всех констант Е_*. Использование этой константы в функции приведет к выдаче отчета по всем обнаруженным

РНР.

В РНР константы Е_* обычно используются с функцией error_reporting(), чтобы установить уровень выдачи сообщений об ошибках (см. гл. 16)


ВНИМАНИЕ

С помощью функции define() можно определить дополнительные константы.


Обратите внимание, что это константы, а не макросы в стиле языка С. Константа может представлять только допустимые скалярные данные.

Пример 10.1. Определение констант

<?php

define("CONSTANT", "Hello world.");

echo CONSTANT; // выводит "Hello world."

?>

Пример 10.2. Использование констант _FILE_ и _LINE_

<?php

function report__error($file, $line, $message) {

    echo "Сшибка в файле $file в строке $line: $message";

}

report_error(_FILE_, _LINE_, "Что-то не так!");

?>

Результат выполнения программы представлен на рис. 10.1.

Рис. 10.1. Результат выполнения скрипта

<< Предыдущий параграф Следующий параграф >>
Оглавление