Константы в PHP

Сегодня разберем еще одну тему, которая называется Константы в PHP. Что же такое константы, где они используются и надо ли их вообще использовать?

Конечно же использовать их надо. Никто вам не запрещает вообще их не использовать, а просто хранить информацию в переменных. Так вот константы в PHP нужны, как и переменные для хранения какой либо информации. Тогда чем же они отличаются от переменных? А отличаются они тем, что единожды записав информацию в константу, ее уже потом, в программе, нельзя изменить. Для чего это нужно я расскажу далее. А пока давайте посмотрим как записываются константы:

<?php
define('LOGIN', 12345);
?>

Итак, константы записываются с помощью ключевого слова define без знака доллара в начале, где в круглых скобках указывается в виде строки название константы, а потом ее значение. Очень важно отметить, что имена констант принято записывать большими буквами. Опять же никто вас к этому не принуждает, просто это так принято.

Давайте теперь вернемся к тому, что переопределять константы в программе нельзя и удалить нельзя. Вот такой вот код, естественно, выдаст ошибку:

<?php
// Сначала создаем константу
define('LOGIN', 12345);
// Далее в коде пытаемся ее переопределить
LOGIN = 123;
// В итоге мы получаем ошибку
// Далее хотим удалить константу
unset(LOGIN);
// И тоже получаем ошибку
?>

Константы заводятся по двум причинам: Первое — удобно помнить имя константы. Например, у PHP есть тоже свои константы. Возьмем две из них, это E_ALL и E_ERROR (константы ошибок). За этими константами скрываются какие-то длинные большие числа. Конечно удобнее помнить название константы, чем длинное число. И еще, дело в том, что числа от версии к версии меняются и каждый раз запоминать эти новые числа — это конечно жуть. Поэтому их удобнее запихнуть в константу, которая всегда будет постоянной независимо от версий PHP и вообще здесь даже думать не нужно, что там что-то изменилось, мы просто используем эту константу и нам не важно что за ней скрывается.

Второе — записать в константу наиболее критичные участки кода, чтобы кто-то их не переписал. Ну например я решил поработать с файлом, хочу записать в него что-то или прочитать. Соответственно мне нужно создать имя файла. Но поскольку я этот файл буду использовать в нескольких местах, то лучше запихнуть имя файла в переменную. Ситуация в следующем — я придумал название файла «user.txt» и уехал в отпуск. Мой коллега залезает в код, куда-нибудь в середину и ему тоже нужен файл и берет и придумывает название файла «user.txt» и переписывает мой код. Я прихожу, начинаю обращаться к своему файлу и обращаюсь не туда куда надо. А если я поставил бы название файла в константу, то ни каких проблем бы не было, никто не смог бы переписать его.

С константой ничего нельзя сделать. Даже если я попытаюсь написать вот так, то это тоже не сработает:

<?php
define('LOGIN', 12345);// Константа определена
define('LOGIN', 123); // Переопределить не получится. Это не сработает
?> 

Константу можно только использовать:

<?php
echo LOGIN; // Выведет 12345
?>

Еще обратите внимание, что у PHP есть свои встроенные константы, такие как например E_ALL, E_ERROR и таких констант очень много. И если мы создадим константу совпадающую с константой PHP, то у нас ничего не получится.

Для проверки существования констант и вообще, если мы создаем новую константу правильнее сначала проверить не существует ли она. Для этого предназначена функция под названием defined(«имя константы»). Эта функция возвратит TRUE, если такая константа уже есть и FALSE, если такой константы нет.

Проверку существования констант можно записать так:

<?php
define('LOGIN', 12345);
/*
Далее проверяем существование константы от противного
 с помощью восклицательного знака
*/
if(!defined('LOGIN')){
	define('LOGIN', 12345);
}
/*
Соответственно у нас константа существует в первой строчке,
поэтому в конструкцию if() мы не попадаем
*/
?>

Константы по умолчанию регистрозависимы:

<?php
define('LOGIN', 12345);
echo login; // Значение 12345 я не получу
?>

Я рекомендую вам оставить эту регистрозависимость, так как в дальнейшем будет меньше ошибок. Однако, если вы очень сильно хотите, чтобы ваши константы были регистронезависимы, то вам необходимо третьим параметром поставить значение TRUE:

<? php
define('LOGIN', 12345, true);
echo LoGiN// Выведет 12345
?>

Также при создании констант мы не можем использовать в значении константы имя переменной:

<?php
define('LOGIN', $a); // Так делать нельзя!
?>

Криптовалюта и майнинг — хотите в этом разобраться. Смотрите видео по теме по ссылке https://www.youtube.com/watch?v=SOVXa2BNoIU .

Интересное и полезное вам посмотреть

  • 02.09.2015 Раскрутка сайта недорого Качественно оптимизируем и продвигаем Ваш сайт в Google и Яндекс. Используя огромный опыт и наработки в области SEO, мы смогли существенно сократить время, которое занимает поисковое продвижение. Время выведения сайта в ТОП может […]
  • 14.04.2017 Где, за какую сумму на текущий момент можно разработать сайт в Майами? Также как и у любого владельца бизнеса, в определенный момент ко мне пришло осознание того факта, что пришло время выйти на совершенно новый уровень, твердо заявить о себе, своей фирме, чтобы умножить поток новых покупателей. После […]
  • 08.10.2012 Причины и симптомы боли в груди Многие думают, что в случае если болезненность появляется в груди, то это непременно сердце волнует. В действительности так имеют все шансы проявляться заболевания органов дыхания, позвоночника, ЖКТ, цнс и средостения. Что предпринимать, […]
  • 30.09.2012 Боль в ваших суставах пальцев ног Суставы пальцев ног участвуют в ходе ходьбы или выполняют функцию \"амортизатора\" путем же смягчения толчков, которые все передаются на корпус тела и появляются при ходьбе, прыжках, беге. Болезненность в суставах пальцев ног появляется […]
  • 19.08.2011 Любові у світі дуже мало. Любові у світі дуже мало. З нею йде в нашому світі дуже погано ... Любов все більш деформується завдяки все зростаючому егоїзму , зведеному в принцип , до закону , в основу існування . Любов виснажується і ущільнюється , вона все […]
  • 29.10.2013 І страх смерті переродиться в Любов до Життя. Ти відчуваєш болісне відчуття розчарованості , нездійснених надій , втрачених можливостей . Внутрішній морок заважає тобі відчувати себе частиною світу , в якому ти живеш. Все те , що ще недавно гріло душу , стало примітивним і […]
  • 09.04.2018 Нуга Бест — это реально развод пенсионеров? Все чаще в интернете можно встретить запрос «нуга бест развод пенсионеров?» А что об этом думаете вы? На самом деле факты говорят о том, что сотни пенсионеров выздоровели благодаря этому методу. Речь даже идет не об обычных болезнях, но и […]
  • 03.06.2016 Процесс получения документов для реализации изделий медицинского назначения Процесс получения документов для реализации изделий медицинского назначения Необходимым условием для осуществления продаж медицинских изделий на территории Украины является сбор требуемого пакета разрешительных документов. С 1 июля […]
  • 27.02.2017 Рекомендации по покупке земли Рекомендации по покупке земли Сегодня рынок Украины достаточно насыщен объектами недвижимости. Особенно это касается рынка земельных участков. В этой статье мы попытаемся рассказать о видах земельных участков, их различиях, и какую лучше […]
  • 14.03.2013 Причины повышенного артериального давления Около 95 процентов  всех известных случаев повышенного давления явно составляет так называемая первая первичная, или же эссенциальная гипертензия. То есть же в этом случае, все повышенное давление часто является отдельным […]
  • 21.04.2016 Чем полезно утиное мясо Утиное мясо – это одно из как бы самых фаворитных в кулинарии. Все знают то, что раз в год выращивается наиболее 2,5 миллионов голов данной птицы. Высококачественное мясо утки как раз владеет темным цветом и достаточно нежное в ощупь. И […]
  • 24.03.2013 секрети молодості   Навіщо витрачати величезні гроші на косметичні процедури і пластичну хірургію , якщо приховати свій вік можна набагато простіше і дешевше ?   Навіщо витрачати величезні гроші на косметичні процедури і пластичну хірургію, якщо […]
  • 11.03.2015 Виды хостингов Есть большое много хостингов под разнообразные задачи и возможные цели. Давайте дадим каждому понятие и решим, что нам подобрать. Бесплатные хостинги – они размещают интернет сайты на своих серверах бесплатно. Но как говорится: […]
  • 25.03.2018 О профессиональной косметике Мечта любой женщины – найти тот волшебный чудодейственный эликсир, который способен очень быстро сделает ее по настоящему неотразимой, вернет ей ту самую ушедшую молодость, припас ее коже свежесть и сияние. Именно для этого с каждым годом […]
  • 10.10.2014 багатолика анемія Досить часто анемія протікає приховано : симптоми досить розпливчасті і не характерні , а кров на аналіз беруть не так часто , та й не завжди достатньо загального аналізу - потрібні і спеціальні уточнюючі дослідження .Онуку 11 місяців , у […]

Комментарии закрыты.