PHP уроки
ПРОСТО самая лучшая обучалка PHP!
  • Студия LPHPRU
  • Уроки PHP
  • Контакты
  • Помощь
Меню
  • PHP - с чего начать?
  • Уроки PHP
  • Функции PHP
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • JQuery уроки
Календарь
Декабрь (2023)
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
25262728293031

  • Что нового?

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

    • хочу изучать php программирования
    • не пойму, зачем проверять есть ли...
    • Мы подберем для Вас лучшего спец�...
    • В функции не указана проверка ра�...
    • vbnvb
  • TOP-5

    • Метод POST (2947222 )
    • Привет, МИР! (911701 )
    • Метод GET (668405 )
    • Операторы (606502 )
    • Firefox уже запущен, но не отвечает... (354474 )

Константы (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