Как обеспечить сосуществование разных версий синтаксиса 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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