Подтвердить что ты не робот

DEFINE vs Variable в PHP

Может кто-нибудь объяснить разницу между использованием

define('SOMETHING', true);

и

$SOMETHING = true;

А может быть, преимущества между тем или другим?

Я использую переменные везде и даже в файле типа конфигурации, который включен в каждую страницу, я все еще использую переменные, поскольку я не вижу, почему использовать метод define.

4b9b3361

Ответ 1

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

Я обычно использую DEFINE для Configs, потому что никто не может с ним справиться после факта, и я могу проверить его где угодно без global-ling, что упростит проверку.

Ответ 2

После определения "константа" не может быть изменена во время выполнения, тогда как обычное назначение переменных может.

Константы лучше подходят для таких вещей, как директивы конфигурации, которые не должны меняться во время выполнения. Кроме того, код легче читать (и поддерживать и передавать), если значения, которые должны быть постоянными, явно сделаны так.

Ответ 3

define() делает переменную только для чтения по сравнению со стандартной переменной, которая поддерживает операции чтения и записи.

Ответ 4

Существует также различие в области.

В примере, представленном плакатом orignal, $SOMETHING не будет доступен в пределах функции, тогда как define('SOMETHING', true) будет.

Ответ 5

Константа очень полезна, когда вы хотите получать данные изнутри функции, проверьте это

<?php function data(){
define("app","hey you can see me from outside the function",false);

$tech = "xampp";  }  data();  echo $tech;  echo app;  ?>

Если вы используете переменную, вы никогда не получите внутреннее значение, это то, что я получаю

Примечание: Undefined variable: tech в D:\xampp\htdocs\data\index.php в строке 8 эй, вы можете видеть меня вне функции