модульное тестирование. Есть ли способ проверить, является ли php-код php & lt; 5.3.2 совместимый

Итак, я запускаю XAMPP с установленным php5.6.3. Тем не менее, я пишу что-то для сайта, работающего на сервере, используя php 5.2.

Есть ли что-то вроде PHPUnit или PHPCodesniffer (или онлайн-инструмент), который скажет мне, если часть моего кода не будет работать на определенных версиях php (таких как php < 5.3.2)?

Спасибо

1

Решение

CodeSniffer сделает:

Загрузите последнюю версию на http://github.com/wimg/PHP53Compat_CodeSniffer/downloads — убедитесь, что вы переименовали PHP53Compat_CodeSniffer каталог для PHP53CompatibilitY
Если у вас есть 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/

1

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

Хорошо. Поэтому, изучив все вышеизложенные предложения, я остановился на PHPCompatibility от Wim Godden. https://github.com/wimg/PHPCompatibility

Вот две причины, по которым я выбрал это вместо PHP53Compat_CodeSniffer:

  1. в частности, есть новая функция для того, что я хотел. Взято из блога Вима:

Вы также можете проверить обратную совместимость своего кода, указав версии, подобные 5.2, что заставит его проверить, используете ли вы функции или ключевые слова, не известные этой более старой версии. Неплохо, если вы пишете код на PHP 5.5, но ваш системный инженер говорит вам, что на полпути проекта нужно будет развернуть проект на 5.2.

Это точно мой случай. А также…

  1. Он использует composer и намного проще в использовании, чем PHP53Compat_CodeSniffer.
1

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