PHP уроки для начинающих

PHP уроки

  • Главная
  • PHP с чего начать?
  • Уроки PHP
  • Массивы
  • Функции
  • MySQL
  • Форум
Меню

  • PHP - с чего начать?
  • Уроки PHP
  • Функции
  • Массивы
  • Denwer
  • MySQL
  • Информация
  • Dreamweaver уроки
  • Галерея
  • Как здесь качать?
  • КНИГИ

Связаны

  • Станки: Адресный Справочник: Форматно Раскроечный Станок.

Что нового?
Как создать свой сайт? Урок третий.
Загрузка файлов
Регистрация PHP
Как создать свой сайт? Урок второй.
Как создать свой сайт?
Размер изображения
Index.php

Новости на email
Подпишись на новости.
Уроки PHP на email.


Имя(login):

*Ваш email:


Календарь
Май (2012)
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031   

Пошук рішень, новини україни сьогодні через інтернет.
ИГРЫ Компьютерные, настольные, детские конструкторы, карточные игры, головоломки.
on-books.ru
 
Комментарии
Текст
сообщениясбрасы
ваются все
настройки
мозилы+удаляютс
я в...
"Сейчас
откройте
страничку в
браузере. Для
этого щёлкни...
Спасибо за
уроки
спосиба для
помщ
Читать учитесь.
 
TOP5-уроки
1.  Привет, МИР! - 62109
2.  Метод GET - 35587
3.  Как вставить картинку в скрипт PHP. - 33564
4.  Как настроить Adobe Dreamweaver для работы с сайтом. - 29804
5.  Метод POST - 29177

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

Главная » PHP - с чего начать? » Константы (define, defined)

PHP урок № 344

Константы в PHP

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

Листинг № 1 - Определяем константу

<?php

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

echo 
NAME; // 500

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

Листинг № 2 - Определяем константу без учёта регистра.

<?php

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

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

?>
Есть такое негласное правило, или можно сказать, даже правило хорошего тона при написании кода. Имена констант пишутся буквами верхнего регистра (NAME). Это значительно выделяет константы и повышает читабельность кода.
Ну и конечно, вы успели заметить ещё одно отличие константы от переменной - это то, что перед именем константы не ставится знак доллара, который обязателен при именовании переменной.

Где применяются константы, как их использовать?

На мой взгляд, чаще всего константы используются для определения путей, линков и защиты скриптов.
Например для использования одной и той же директории внутри сайта, которая находится /images/png/logo/events/ - не обязательно писать этот путь десять раз из страницы в страницу. Достаточно определить константу и присвоить ей в качестве значения этот самый путь.

Листинг № 3 - Применение констант в php

<?php

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

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

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

?>
Такое объявление констант рационально при использовании единого файла конфигурации. В котором будут прописаны все константы сайта. При изменении конфигурации сайта, смене названия папки или перемещении папки в другую папку, достаточно будет изменить путь к этой директории в одном месте, в файле конфигурации. Конечно это касается не только папок. Так же можно легко прописывать путь до любого файла системы с аналогичным успехом.

defined()

Функция defined() принимает всего лишь один аргумент - это имя константы. Если константа установлена, функция возвращает TRUE, в противном случаи FALSE.

Листинг № 4 - Проверяем установлена константа или нет

<?php

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


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

?>

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

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

Листинг № 5 - Работа с предопределёнными константами.

<?php

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

?>

Урок закончен.

SETTER © LPHP.RU
Администрация сайта
25.04.2011 20:04:49

Продолжение следует...

Рекомендованные уроки этого раздела:
  • Метод GET
  • Константы (define, defined)
  • Метод POST
  • Операторы

НАПИШИТЕ СВОЙ КОММЕНТАРИЙ

Имя:

Введите цифры с картинки:

КОММЕНТАРИИ

Имя: Роман     Время: 25.08.2011 22:20:36
  • Текст сообщения класс
  • Имя: Максим     Время: 05.10.2011 03:57:28
  • А к примеру хранить в константах все литералы интерфейса это хорошо или плохо? Ну к примеру: define(\'GUI_LOGIN\',\'логин\'); define(\'GUI_PASSWORD\',\'пароль\'); define(\'GUI_PE_PESSWORD\',\'повтор пароля\'); и т.д. ?
  • Имя: SETTER     Время: 05.10.2011 10:01:52
  • Думаю вполне приемлемо.
  • Имя: Гриша     Время: 05.10.2011 14:11:54
  • Можно их срастить с MySql?
  • Имя: Кого     Время: 05.10.2011 14:15:21
  • Кого и зачем?
  • Имя: Гриша     Время: 05.10.2011 18:32:09
  • С их помощью соединить бд со скриптом?
  • Имя: SETTER     Время: 05.10.2011 18:43:31
  • Это как вам угодно.
  • Имя: Евгений     Время: 21.10.2011 03:40:18
  • Спасибо огромное вашему сайту каждій урок прохожу с удовольствием =)
  • Имя: Игорь     Время: 28.12.2011 12:23:49
  • Да уж, изложено действительно хорошо. Но единственно чего на мой взгляд (ИМХО) не хватает это практики. То есть, каждый сам может сидеть и практиковать в своих редакторах, так как ему в голову взбредет. Но нужна система практики. Где бы можно было бы попрактиковаться по пройденному материалу грамотно, применив эти знания и закрепив их. Подскажите какой-нибудь тренажер. Тем более, что практика это главные продуктивный инструмент программиста.
  • Имя: SETTER     Время: 28.12.2011 19:24:07
  • Совет первый. Не нужно использовать тренажёры. Пишите по чуть чуть то, что вам действительно пригодится или кому-то ещё. Исправление собственных ошибок и есть самый не заменимый тренажёр. Совет два. Не стоит пытаться объять не объятное (где-то уже вроде писал), используйте то что вы понимаете как использовать. Всё остальное само попросится в код, через какое-то время. Вы сами почувствует, что чего-то не хватает, тогда смело изучайте тот кусок знаний, который до сих пор был для вас не доступен. Проще сказать, пишите те скрипты, которые вы можете писать на данный момент, не надо их усложнять. Если вам не понятно где применять константы, не трогайте эту тему, поверьте, вы и без них напишите кучу хорошего кода.
  • Имя: Нурик     Время: 11.01.2012 19:20:19
  • Спасибо Огромнейшее автору. А то я уже расстроился что не потяну язык, столько вопросов было в начале изучения.
  • Имя: Kostya     Время: 30.04.2012 03:19:54
  • Автор, спасибо огромное за уроки
  • Имя: Lex     Время: 04.05.2012 16:17:05
  • автору спасибо. Все внятно и простым языком, тому кто писал на других языках - достаточно мельком все просмотреть. автор, пиши еще )

  • Copyright © 2009-2012 LPHP.RU