所以我正在运行安装了php5.6.3的XAMPP。但是,我正在为使用php 5.2在服务器上运行的网站写一些东西。
有没有类似PHPUnit或PHPCodesniffer(或在线工具)的东西会告诉我我的部分代码是否不适用于特定版本的php(例如php< 5.3.2)?
由于
答案 0 :(得分:1)
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/
答案 1 :(得分:1)
确定。因此,在研究了上述所有建议之后,我已经确定了Wim Godden的PHPC兼容性。 https://github.com/wimg/PHPCompatibility
我选择PHP53Compat_CodeSniffer的两个原因是:
您还可以通过指定5.2之类的版本来测试代码的向后兼容性,这会导致它检查您是否使用了旧版本未知的函数或关键字。非常好,如果您使用PHP 5.5进行编码,但系统工程师告诉您项目的一半,项目必须部署在5.2上。
这完全是我的理由。和...