многомерное перечисление php (const)

У меня есть список действий:

class Activities
{
const running = 'running';
...
}

Теперь я хотел бы добавить идентификатор к константе:

class Activities
{
const running = ['title' => 'running', 'id' => 1]
...
}

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

Однако это не допускается для const. (выражение не допускается как значение константы класса)

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

0

Решение

Вы можете удалить const и определите свои перечисления как public static:

class Activities
{
public static $running = ['title' => 'running', 'id' => 1];
}
2

Другие решения

Это будет либо использование массива, тогда автозаполнение становится немного громоздким, но все же возможно (если я правильно понимаю ваши намерения), вам просто придется запустить его против $ array [‘activity’]

Или вам придется создать класс

class Activity {
const activity='';
const id='';
cont etc='...';
}

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

Но не уверен, насколько он будет менее громоздким, чем массив.

Извините, если ответ немного запутанный, прошло много времени с тех пор, как мне приходилось думать о php на любом различимом человеческом языке.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector