Время чтения ~ 30 сек. / 33 просмотра / 0 комментариев / Декабрь 31, 2023, 12:54

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

Введение в константы PHP

Константа — это просто имя, содержащее одно значение. Как следует из названия, значение константы не может быть изменено во время выполнения PHP-скрипта.

Чтобы определить константу, используется функция define(). Функция define() принимает имя константы в качестве первого аргумента и значение константы в качестве второго аргумента. Например:

<?php 

define('WIDTH','1140px');
echo WIDTH;

По соглашению имена констант пишутся в верхнем регистре. В отличие от переменной, имя константы не начинается со знака доллара ($).

По умолчанию имена констант чувствительны к регистру. Это означает, что WIDTH и width — разные константы.

Можно определить константы, нечувствительные к регистру. Однако они устарели с PHP 7.3.

В PHP 5 константа может содержать простое значение, например число, строку или логическое значение. Начиная с PHP 7.0, константа может содержать массив. Например:

<?php

define( 'ORIGIN', [0, 0] );

Как и в случае с суперглобальными переменными, вы можете получить доступ к константам из любого места скрипта.

Ключевое слово const

PHP предоставляет вам другой способ определения константы с помощью ключевого слова const. Вот синтаксис:

const CONSTANT_NAME = value;

В этом синтаксисе вы определяете имя константы после ключевого слова const. Чтобы присвоить значение константе, вы используете оператор присваивания (=) и значение константы. Постоянное значение может быть скалярным, например числом, строкой или массивом.

В следующем примере ключевое слово const используется для определения константы SALES_TAX:

<?php

const SALES_TAX = 0.085;

$gross_price = 100;

$net_price = $gross_price * (1 + SALES_TAX);

echo $net_price; // 108.5

В следующем примере ключевое слово const используется для определения константы RGB, содержащей массив:

<?php

const RGB = ['red', 'green', 'blue'];

define vs const

Во-первых, define() — это функция, а const — языковая конструкция.

Это означает, что функция define() определяет константу во время выполнения, тогда как ключевое слово const определяет константу во время компиляции.

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

<?php

if(condition) 
{
    define('WIDTH', '1140px');
}

Однако вы не можете использовать ключевое слово const для определения константы таким образом. Например, синтаксис следующего кода недействителен:

<?php 

if(condition) 
{
   const WIDTH = '1140px';
}

Во-вторых, функция define() позволяет вам определить константу с именем, полученным из выражения. Например, ниже определяются три константы OPTION_1, OPTION_2 и OPTION_3 со значениями 1, 2 и 3.

<?php

define('PREFIX', 'OPTION');


define(PREFIX . '_1', 1);
define(PREFIX . '_2', 2);
define(PREFIX . '_3', 3);

Однако вы не можете использовать ключевое слово const для определения имени константы, полученного из выражения.

Если вы не хотите определять константу при условии или использовать выражение, вы можете использовать ключевое слово const для определения констант, чтобы сделать код более понятным.

Обратите внимание: вы можете использовать ключевое слово const для определения констант внутри классов.

Подытожим

  • Константа — это имя, содержащее простое значение, которое нельзя изменить во время выполнения скрипта. Начиная с PHP 7, константа может содержать массив.
  • Доступ к константе можно получить из любого места скрипта.
  • Используйте функцию define() или ключевое слово const, чтобы определить константу.
  • Используйте функцию define(), если вы хотите определить константу при условии или с помощью выражения.
Теги:
php
Комментарии в PHP
var_dump - PHP
Цикл for - PHP
Март 04, 2024, 17:51
В этом уроке вы узнаете об операторе for в PHP для многократного выполнения блока кода.
Логический тип (Boolean) - PHP
Январь 05, 2024, 15:41
В этом уроке вы узнаете о логическом типе данных и логических значениях PHP.
Конструкция if else - PHP
Январь 13, 2024, 16:37
В этом уроке вы узнаете о конструкции if...else в PHP, которая выполняет блок кода, когда условие истинно, и другой блок кода, когда условие ложно.
Оператор И (AND) - PHP
Январь 10, 2024, 20:03
В этом уроке вы узнаете о логическом операторе И (AND) в PHP и как использовать его для создания сложных логических выражений.
Операторы - PHP
Январь 09, 2024, 14:28
В этом уроке вы узнаете об операторах в PHP и о том, как эффективно использовать их в своих скриптах.