Получить значение ранее определенной константы в том же определении абстрактного класса

Я пытаюсь создать абстрактный класс, который бы сохранил несколько строк. Я хочу, чтобы каждая из констант имела значение предыдущей константы и некоторые другие дополнения. Например, что-то вроде этого:

abstract class Test
{
const a = "a",
b = "ab",
c = "abc";
}

Я не хочу повторять все дважды, поэтому, когда я хочу изменить a например, мне нужно изменить его в каждом из значений. Я хочу, чтобы оно использовало предыдущее значение в следующей константе, поэтому, когда я что-то изменяю, все это будет изменено на одно значение. Возможно ли что-то подобное? Я старался this::a но это не сработало, и я не мог придумать другого пути.

0

Решение

Поддержка постоянных выражений была добавлена ​​в PHP 5.6:

Можно предоставить скалярное выражение, включающее числовые и строковые литералы и / или константы в контексте константы класса.

Таким образом, вы можете сделать:

const a = "a",
b = self::a . "b",
c = self::a . "bc";

Вы получаете доступ const внутри классов с self

2

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

Других решений пока нет …

По вопросам рекламы [email protected]