PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
  • Галерея
  • OpenCart
Календарь
Февраль (2023)
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728     
В продаже

  • Что нового?

    • Тест №2
    • Тест №1 для разработчиков
    • PHP 5.6 RC1
    • SQL. Как cкопировать данные одной колонки в другую, в той же таблице
    • GRUB изменить порядок загрузки OS в Linux
    • SSH - вход на сервер без ввода пароля
    • PhpMyAdmin - проблема с загрузкой большого файла на сервер
  • Комментарии

    • Hello
    • тут нечего не понятно
    • Может уже пора на WebStorm переходит...
    • Здравствуйте. 10 лет пользуюсь др...
    • Была такая проблема, решалась пе...
  • TOP-5

    • Метод POST (2945468 )
    • Привет, МИР! (910791 )
    • Метод GET (667156 )
    • Операторы (605670 )
    • Firefox уже запущен, но не отвечает... (352940 )

Константы (define, defined)

Главная» Array » Константы (define, defined)
PHP урок № 344
Константы в PHP
Константа - это та же переменная, за исключением того, что значение константы не меняется в процессе исполнения скрипта! Это главное отличие константы от переменной.
Как объявить константу?
В php есть специальная функция для объявления константы и присвоения ей значения. Что это значит? К примеру переменная объявляется просто по ходу исполнения скрипта, то есть вы вводите новую переменную в любом месте страницы присвоив знак доллара перед именем переменной ($name) и всё, переменная готова. Она уже существует в памяти. Установив оператор присваивания и написав некое значение, вы тем самым устанавливаете значение этой переменной ($name = 500;). Для того чтоб объявить константу и присвоить ей значение используется функция define().
Листинг № Array - Определяем константу
<?php

// Определяем константу NAME и присваиваем ей значение 500
define('NAME','500');

echo 
NAME; // 500

?>
В листинге №1 мы видим как константа с именем NAME получает значение 500. В функции define(), есть так же третий не обязательный аргумент. Если задано значение TRUE, константа будет определена без учёта регистра. По умолчанию - с учётом регистра; т.е. NAME и Name это разные значения. Если хотим использовать константу без учёта регистра, следует определить так константу:
Листинг № Array - Определяем константу без учёта регистра.
<?php

// Определяем константу NAME и присваиваем ей значение 500
define('NAME','500', TRUE);

echo 
NAME; // 500
echo Name; // 500

?>
Есть такое негласное правило, или можно сказать, даже правило хорошего тона при написании кода. Имена констант пишутся буквами верхнего регистра (NAME). Это значительно выделяет константы и повышает читабельность кода.
Ну и конечно, вы успели заметить ещё одно отличие константы от переменной - это то, что перед именем константы не ставится знак доллара, который обязателен при именовании переменной.
Где применяются константы, как их использовать?
На мой взгляд, чаще всего константы используются для определения путей, линков и защиты скриптов.
Например для использования одной и той же директории внутри сайта, которая находится /images/png/logo/events/ - не обязательно писать этот путь десять раз из страницы в страницу. Достаточно определить константу и присвоить ей в качестве значения этот самый путь. И его можно будет использовать в любом месте скрипта, на разных страницах, это очень удобно!
Листинг № Array - Применение констант в php
<?php

define
('IMGEVENTS','/images/png/logo/events/');

echo 
IMGEVENTS; // /images/png/logo/events/

echo '<img src="'.IMGEVENTS.'pic.png">';

?>
Такое объявление констант рационально при использовании единого файла конфигурации. В котором будут прописаны все константы сайта. При изменении конфигурации сайта, смене названия папки или перемещении папки в другую папку, достаточно будет изменить путь к этой директории в одном месте, в файле конфигурации. Конечно это касается не только папок. Так же можно легко прописывать путь до любого файла системы с аналогичным успехом.
defined()
Функция defined() принимает всего лишь один аргумент - это имя константы. Если константа установлена, функция возвращает TRUE, в противном случаи FALSE.
Листинг № Array - Проверяем установлена константа или нет
<?php

// Определяем константу CONST и присваиваем ей значение yes
define('CONST','yes');


if(
defined('CONST')) // Константа установлена.
{
   echo 
'Константа установлена.';    
}
else
{
    echo 
'Константа НЕ определена!';    
}

?>
Предопределённые константы
Предопределённые константы - это такие константы, которые уже определены внутри языка PHP и доступны везде.
Константы Описание
__LINE__ Текущая строка в файле
__FILE__ Полный путь и имя текущего файла
__FUNCTION__ Имя функции
__CLASS__ Имя класса
__METHOD__ Имя метода класса
Листинг № Array - Работа с предопределёнными константами.
<?php

echo 'Имя файла '. __FILE__ ;
echo 
'Строка '.__LINE__;       // Строка 4

?>
Урок закончен.
SETTER © LPHP.RU
Администрация сайта
Array
Урок девятый. Типы данных.
  • lphp.ru © 2009-2023