Константы PHP - httpdoc.ru

Константы PHP

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

В этом уроке мы рассмотрим углубленный анализ и Константы PHP , мы поговорим о разных способах создания констант, свойствах констант. Давайте начнем!


Именование константы

Соглашения об именах для констант аналогичны соглашениям об именах для переменных. Допустимое имя константы может начинаться с буквы, или вы также можете использовать подчеркивание в начале или в любом месте между идентификатором, за которым следует любая буква / числа / подчеркивание.

Примечание. Знак «$» не используется в константах PHP. Вы просто можете использовать идентификатор для представления константы без использования знака «$».
Примечание. Константы в PHP по умолчанию являются глобальными, т. Е. Их можно использовать в любом месте программы без каких-либо ограничений по объему.

Как определить константы PHP:

Константа PHP может быть определена с помощью define() функции, а для восстановления значения константы вы можете просто использовать echo() конструкцию. constant() Конструкция также может быть использована для считывания значения постоянная, и это быстрее , чем эхо () , но мы пройдем через это позже в учебнике. Давайте сначала посмотрим, как вы можете создавать константы PHP с помощью define() function.


Константа PHP с использованием define ()

define() Функция использует три аргумента: Constant name, Constant value, Case insensitivity(TRUE/FALSE) . В FALSE функции по умолчанию используется нечувствительность к регистру , то есть, если вы не укажете нечувствительность как ИСТИНА, то синтаксический анализатор примет ее как ЛОЖЬ, а константа будет чувствительна к регистру, что означает, что прописные и строчные буквы будут обрабатываться по-разному.

Посмотрите на пример ниже, чтобы понять, как создать константу PHP с помощью функции define (), и тогда работает нечувствительность:

Синтаксис
define (имя, значение, нечувствительность к регистру)

Параметры:

  • name: указывает имя константы.
  • value: указывает значение константы.
  • Без учета регистра: указывает, должно ли имя константы быть без учета регистра. По умолчанию false

Константы с учетом регистра:

Пример: 1
<?php
/* case-sensitive constant name */
define("GREETING", "Welcome to PHP Tutorials");
echo GREETING;
?>

Выход

Добро пожаловать в учебные пособия по PHP

В приведенном выше примере мы не указали нечувствительность внутри define() функции, поэтому синтаксический анализатор PHP принял значение по умолчанию 'FALSE' .

Пример: 2
<?php
/* case-sensitive constant name */
define("GREETING", "Welcome to PHP Tutorials");
echo greeting;
?>

Выход

приветствие

Теперь константа чувствительна к регистру, поэтому 'GREETING' рассматривается как константа, но 'greeting' является просто строкой.


Константы без учета регистра:

Пример
<?php
/* case-insensitive constant name */
define("GREETING", "Welcome to PHP Tutorials", true);
echo greeting;
?>

Выход

Добро пожаловать в учебные пособия по PHP

В приведенном выше примере мы указали нечувствительность как 'TRUE' . Теперь 'GREETING' и 'greeting' или 'Greeting' все будут рассматриваться как константы и будут давать тот же результат.


Константы PHP с конструкцией языка constant ()

Это constant() языковая конструкция, как и echo() . Он используется для чтения значения константы, когда вы не знаете имя константы, т. Е. Она сохраняется в переменной или возвращается какой-либо функцией. В этом случае вы можете использовать constant() конструкцию, которая также работает с константами класса. Посмотрите на пример ниже, чтобы понять, как работает constant ().

Примечание. Он всегда чувствителен к регистру, поэтому используйте его осторожно, и если константа не определена, она вернет NULL .
Пример
This is example of constant()

<?php
 $str= "constName";
 define("constName","This is constant");
 echo constant($str);
 ?>

Выход

Это постоянно

В приведенном выше примере мы использовали имя переменной, которое содержит имя константы, но все еще имеет значение константы. Таким образом, мы можем исключить значения констант, имена которых мы не знаем, или, чтобы быть более точными, мы можем читать значения динамически во время выполнения.


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

Пример
/* this is example for constant() with class */
<?php
   class a {
   const b = 'c';
    }
   echo constant('a::b');
   ?>

Выход

c

Глобальные константы

Константы PHP по умолчанию являются глобальными по своей природе. В приведенном ниже примере константа определена вне функции, но к ней все же можно получить доступ изнутри функции, т. Е. Константа по своей природе является глобальной.

Пример
<?php
define("GREETING", "Welcome to PHP Tutorials");

function myTest() {
    echo GREETING;
}
 
myTest();
?>

Выход

Добро пожаловать в учебные пособия по PHP

Константа против переменных

Постоянный Переменные
Как только константа определена, ее нельзя переопределить. Переменная может быть неопределенной, а также легко переопределена.
Константу можно определить только с помощью функции define (). Это не может быть определено никаким простым назначением. Переменная может быть определена с помощью простого оператора присваивания (=).
Нет необходимости использовать знак доллара ($) перед константой во время присваивания. Чтобы объявить переменную, всегда используйте знак доллара ($) перед переменной.
Константы не подчиняются никаким правилам области видимости переменных, и они могут быть определены и доступны где угодно. Переменные можно объявлять в любом месте программы, но они подчиняются правилам области видимости переменных.
Константы - это переменные, значения которых не могут быть изменены в течение всей программы. Значение переменной можно изменить.
По умолчанию константы являются глобальными. Переменные могут быть локальными, глобальными или статическими.