Страница 1 из 1

Проблема с константами и PHP

Добавлено: 03 авг 2015, 09:21
Cozyr
Добрый день. У меня возникла проблема следующего рода: хочу добавить в скрипте переменную $db (подкл. к mysqli) в константу DB, чтоба она во всех классах и прочих местах имела глобальную область видимости. Согласно мануалу с версии PHP. 5.6 можно определять константы с типом array. Я переключил модуль в настройках сервера на нужную версию, но ошибка никуда не исчезла. Вот ее пример: "Warning: Constants may only evaluate to scalar values in..", что в переводе "Константы могут иметь только скалярные значения". В чем может быть проблема? На сервере все - таки нету 5.6?

Добавлено: 03 авг 2015, 12:03
AVATOR
Добавь код который у тебя выдаёт ошибку.

Добавлено: 03 авг 2015, 13:04
Cozyr
Хм, а причем тут код? Хотя гляди:
$db = new mysqli('localhost', 'root', '12345abc', 'base');
define('DB', $db); // выдаст ошибку если PHP < 5.6

// или вот пример
$arr = array('первый','второй','третий');
define('ARR', $arr); // выдаст ошибку если PHP < 5.6
В Open Server есть эта версия, но почему то константы не работают.

Добавлено: 04 авг 2015, 11:25
DelphinPRO
C типом array - сам же написал. А в примере кода ты присваиваешь переменную.

Вот так будет правильно:
const MY_CONST = [1, 2, 3];

Добавлено: 05 авг 2015, 06:12
Cozyr
Хм, такая мысль мне в голову не приходила.. Спасибо за помощь, теперь буду знать))