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

Могу ли я использовать константы внутри функций в PHP?

Можно ли использовать PHP-константу в PHP-функции?

// in a different file
DEFINE ('HOST', 'hostname');
DEFINE ('USER', 'username');
DEFINE ('PASSWORD', 'password');
DEFINE ('NAME', 'dbname');

// connecting to database
function database()
{
    // using 'global' to define what variables to allow
    global $connection, HOST, USER, PASSWORD, NAME;
    $connection = new mysqli(HOST, USER, PASSWORD, NAME)
        or die ('Sorry, Cannot Connect');
    return $connection;
}
4b9b3361

Ответ 1

Вам не нужно объявлять их в global в функции, PHP распознает их как глобальные.

function database()
{
  // using 'global' to define what variables to allow
  global $dbc;
  $connection = new mysqli(HOST, USER, PASSWORD, NAME)
      or die ('Sorry, Cannot Connect');
  return $connection;
}

От php.net:

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

Ответ 2

Вы хотя бы пробовали?:)

Из руководства :

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

Ответ 4

Да, но вам не нужно называть их "глобальными". Константы являются глобальными. Если вы получите unexpected T_STRING, expecting T_VARIABLE как ошибку, потому что он не ожидает увидеть ссылки констант после "глобального" оператора.