Пыльца сосны Россия
Инструкция
Все нюансы сборки, переработки, заготовки и применения.
-- Купить пыльцу высшего качества --

Константы в PHP

Константа в php, как и переменная, является ячейкой для хранения памяти. Константа — величина имеющая собственное имя, и не меняющаяся в процессе исполнения скрипта.

Применяются они, когда в программу нужно ввести пароль, путь к файлу, дату, и им подобные постоянные данные.

Определяется константа функцией define()

Пример:

<?php
define("PAROL",6548962);
echo PAROL;
?>

Эта программа выведет на экран число 6548962

Рассмотрим составляющие:

«PAROL» — имя константы. Предпочтительно — заглавными буквами. Нельзя начинать цифрой.
6548962 — постоянное значение константы

Если при работе с константой необходимо будет учитывать регистр букв, то в скобки вводится значение параметра $case_sen — true

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

<?php
define('SCHAPCA','/images/png.10');
echo SCHAPCA; // /images/png.10/
echo '<img src=""'.SCHAPCA.'pic.png">';
?>

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

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

__LINE__ — текущая строка в файле
__FILE__ — полный путь и имя текущего файла
__FUNCTION__ — имя функции
__CLASS__ — имя класса
__METHOD__ — имя метода класса

Что такое предопределённая константа, вернее как она используется, хорошо понятно из примера вывода на экран сообщений об ошибках.

<?php
echo "Имя файла".__FILE__."<br>";
echo "Строка".__LINE__.;
?>

Браузер выведет такое сообщение.

Предопределённые константы в php

Как видите, константы сами определили путь к файлу и номер строки в которых, возможно, появится ошибка. Наверное поэтому их ещё называют волшебным константами.

Для проверки существования константы, применяется функция dtfined(). Аргументом для неё всегда является имя константы. Если константа объявлена, то результатом проверки будет true (истина), если нет — false (ложь).

<?php
define("PAROL",6548962);
if (defined("PAROL"));
{
echo 'Константа PAROL установлена.';
}
else
{
echo 'Константа PAROL не определена!';
}
?>

На экран выведется одно из значений в зависимости от того, будет обнаружена константа, или нет.

В этом скрипте применён условный оператор выбора — If. Подробнее о нём поговорим в статье «Операторы php».

Помимо пользовательских и предопределённых констант, php поддерживает ещё один, очень редко применяемый и малоизвестный вид констант — динамические константы.

Как видно из прилагательного (динамические), и вопреки своему названию, константы всё таки могут меняться, и это ещё раз указывает на гибкость языка php.

Делается это при помощи функции rand(), которая генерирует случайное число от 1 до 10, в дальнейшем применяющееся для формирования константы.

Определяется значение такой константы только при помощи функции constant(). Эта же функция определяет и существование динамической константы, и если последняя не существует, то constant() выводит на экран предупреждение Warning.

<?php
//Генерируем случайное число от 1 до 10
$nomer = rand(1,10);
//Формируем имя константы
$name = "NEXT($nomer)";
//Определяем константу с динамическим именем
define($name,1);
//Получаем значение динамической константы
echo constant($name);
?>

Эта программа выведет на экран значение — единицу. Интересная штука в плане безопасности программы. В дальнейшем разберёмся с ней подробнее.

Неужели не осталось вопросов? Спросить

Короткий отдых
Перемена

— У тебя есть мечта?
— Есть.
— Какая?
— Хочу бросить пить.
— Так брось.
— Да? А как потом жить без мечты?

Переменные в PHP < < < В раздел > > > Операторы PHP

Запись опубликована в рубрике PHP основы. Добавьте в закладки постоянную ссылку.
А так же:

Один ответ на “Константы в PHP

  1. Павел говорит:

    Привет!
    А коим образом можно обратиться к константе через переменную?

    define(‘D’, 1);
    $name = ‘D’;

    ???

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *