Время чтения ~ 30 сек. / 27 просмотров / 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
Конструкция switch - PHP
Январь 14, 2024, 20:52
В этом уроке вы узнаете о конструкции switch в PHP, который выполняет блок кода, сопоставляя выражение с несколькими значениями.
Операторы присваивания - PHP
Январь 09, 2024, 22:29
В этом уроке вы узнаете о наиболее часто используемых операторах присваивания в PHP.
Привет, Мир! на PHP
Декабрь 27, 2023, 22:33
В этом уроке вы узнаете, как выполнить сценарий, который выводит сообщение "Привет, Мир!" в веб-браузере и в командной строке.
Строка (String) - PHP
Январь 06, 2024, 21:58
В этом уроке вы узнаете о строках в PHP и о том, как эффективно манипулировать строками.
Арифметические операторы - PHP
Январь 11, 2024, 18:45
В этом уроке вы узнаете об арифметических операторах, такие как сложение, вычитание, умножение, деление, возведение в степень и деление по модулю, для выполнения арифметических операций.