Итак, я запускаю XAMPP с установленным php5.6.3. Тем не менее, я пишу что-то для сайта, работающего на сервере, используя php 5.2.
Есть ли что-то вроде PHPUnit или PHPCodesniffer (или онлайн-инструмент), который скажет мне, если часть моего кода не будет работать на определенных версиях php (таких как php < 5.3.2)?
Спасибо
CodeSniffer сделает:
Загрузите последнюю версию на http://github.com/wimg/PHP53Compat_CodeSniffer/downloads — убедитесь, что вы переименовали PHP53Compat_CodeSniffer
каталог для PHP53Compatibilit
Y
Если у вас есть git, используйте:
git clone git://github.com/wimg/PHP53Compat_CodeSniffer.git PHP53Compatibility
Copy the PHP53Compatibility directory to {your pear path}/PHP/CodeSniffer/Standards
Как бегать
Запустите PHP_CodeSniffer следующим образом:
phpcs --standard=PHP53Compatibility <path-to-your-PHP-source-directory>
Образец вывода
FILE: C:\temp\bla.php
--------------------------------------------------------------------------------FOUND 15 ERROR(S) AND 2 WARNING(S) AFFECTING 12 LINE(S)
--------------------------------------------------------------------------------4 | ERROR | Function name, class name, namespace name or constant name can
| | not be reserved keyword 'goto' (since version 5.3)
6 | ERROR | Extension 'dbase' is not available in PHP 5.3 anymore
12 | ERROR | Function name, class name, namespace name or constant name can
| | not be reserved keyword 'const' (since version all)
12 | ERROR | Function name, class name, namespace name or constant name can
| | not be reserved keyword 'const' (since version all)
так далее…
SRC: http://techblog.wimgodden.be/2010/06/24/automated-php-5-3-compatibility-testing-for-your-old-code/
Хорошо. Поэтому, изучив все вышеизложенные предложения, я остановился на PHPCompatibility от Wim Godden. https://github.com/wimg/PHPCompatibility
Вот две причины, по которым я выбрал это вместо PHP53Compat_CodeSniffer:
Вы также можете проверить обратную совместимость своего кода, указав версии, подобные 5.2, что заставит его проверить, используете ли вы функции или ключевые слова, не известные этой более старой версии. Неплохо, если вы пишете код на PHP 5.5, но ваш системный инженер говорит вам, что на полпути проекта нужно будет развернуть проект на 5.2.
Это точно мой случай. А также…