Есть ли в PHP встроенные средства определения самой старой версии PHP, совместимой с данным сценарием PHP?

Я хотел бы иметь возможность сделать что-то вроде:

php --determine-oldest-supported-php-version test.php

И получите этот вывод:

7.2

Таким образом, бинарный файл php проверяет test.php на все вызовы функций или используемый синтаксис, а затем выкладывает самую старую версию PHP, которая сможет запустить скрипт.

Цель состоит в том, чтобы я создал скрипт, который просматривал бы все файлы .php в моей библиотеке / фреймворке и выяснял, какую версию PHP я должен считать «самой старой поддерживаемой версией».

В настоящее время я делаю это вручную. Всякий раз, когда я сознательно использую новую функцию, функцию или синтаксис, я поднимаю переменную до «7,4» или чего-то еще, а затем сравниваю текущую версию PHP с той, что во время выполнения. Как вы можете себе представить, это не идеально, и я вполне могу забыть увеличить это значение или увеличить его слишком много или слишком мало и т. Д.

Было бы намного лучше иметь возможность определять это автоматически с такой функцией в самом PHP.

Я конечно просмотрел список опций, и PHP, насколько я могу судить, не имеет такой возможности. Поскольку я в основном сразу ответил на свой вопрос, есть ли планы на такую ​​функцию в будущем?

Всего 1 ответ


Единственная гарантия заключается в том, что PHP останется совместимым в той же основной версии. Возможно, вам будет интересно посмотреть статью « Почему вы должны использовать поддерживаемые версии PHP» .

Инструментом, который вы ищете, является проект GitHub PHP_CodeSniffer , более подробно описанный в статье Обновление PHPCompatibility .

Вы можете запустить его с помощью такой команды:

phpcs --standard=PHPCompatibility --runtime-set testVersion 5.4 <path-of-your-php-files>

Есть идеи?

10000