Как обеспечить сосуществование разных версий синтаксиса PHP? ⇐ Php

Кемеровские программисты php общаются здесь
Anonymous
Как обеспечить сосуществование разных версий синтаксиса PHP?

Сообщение Anonymous »

В моем PHP-файле эта строка кода:

Код: Выделить всё

private const string NS_HTML = 'http://www.w3.org/1999/xhtml';
работает только для PHP 8.3 или более поздних версий.
Если я хочу сделать свою библиотеку совместимой с версией 8.2, это единственный способ понизить синтаксис как поступить? т.е.

Код: Выделить всё

private const NS_HTML = 'http://www.w3.org/1999/xhtml';
Чего я действительно хочу добиться, так это какого-то волшебства, например:

Код: Выделить всё

if (PHP_VERSION >= '8.3') {
private const string NS_HTML = 'http://www.w3.org/1999/xhtml';
} else {
private const NS_HTML = 'http://www.w3.org/1999/xhtml';
}
Вы можете возразить, что удаление ограничения типа из константы не имеет большого значения, но я просто привожу простой пример. Еще одна функция версии 8.3, которую я использую, — это атрибут #[Override], и мне бы хотелось сохранить его.
Обновление: на основе ответа из раздела «Как я могу написать код для нескольких версий PHP». в том же файле без ошибок?:
Я попробовал следующий подход и все равно получил синтаксическую ошибку: неожиданный идентификатор "NS_HTML", ожидающий "="

Подробнее здесь: https://stackoverflow.com/questions/791 ... ax-coexist

Вернуться в «Php»