首页 > 解决方案 > PhpStorm 2018 - 如何检查整个项目与 php 7.2 的兼容性?

问题描述

我有一个长期在 PhpStorm 中开发的项目,并且与 php 5.6 完全兼容。在任何情况下,它都可以使用 php 5.6 工作并部署在服务器上。

如何使用 PhpStorm 2018 检查整个项目与 php 7.2 的兼容性,并仅突出显示php 代码仅与 7.2 不兼容的那些地方?

标签: phpphpstormphp-7.2

解决方案


您在这里有两个选项,它们相互依赖。

安装 PHP_CodeSniffer

要检查您的项目是否与 7.2 兼容,我推荐使用PHP CodeSniffer。这是一个小而强大的命令行程序,它可以根据预定义的编码标准静态检查您的代码。

从项目的根级别通过 Composer 安装它:

$ composer require --dev squizlabs/php_codesniffer

您也可以全局安装它或作为 Phar 安装它。请查阅文档以了解替代安装方法。

安装后,您可以通过以下方式调用它:

$ vendor/bin/phpcs --version// 这会输出你的版本

如上所述,PHPCS 带有即用型编码标准。利用

$ vendor/bin/phpcs -i列出它们。

要检查您的代码是否与 PSR-2 兼容,请运行:

$ vendor/bin/phpcs --standard=PSR2 .

由于您想检查项目的 PHP 7.2 兼容性,您必须安装此标准:https ://github.com/PHPCompatibility/PHPCompatibility

$ composer require --dev phpcompatibility/php-compatibility

现在在 PHPCS 中注册标准。打开您的composer.json并将此行添加到该scripts部分:

"scripts": {
    "post-install-cmd": "\"vendor/bin/phpcs\" --config-set installed_paths vendor/phpcompatibility/php-compatibility",
    "post-update-cmd" : "\"vendor/bin/phpcs\" --config-set installed_paths vendor/phpcompatibility/php-compatibility"
}

如果您安装/更新依赖项,这将需要注意。要立即注册标准,您必须手动调用脚本:

$ composer run-script post-install-cmd

要检查新标准是否已成功安装,请运行:

$ vendor/bin/phpcs -i

现在您可以从 cli 运行检查:

$ vendor/bin/phpcs -p . --standard=PHPCompatibility

配置 PhpStorm 以使用 PHP_CodeSniffer

由于您已经在 PhpStorm 中配置了 PHP 解释器,打开您的首选项并转到 PHP | 质量工具 | 代码嗅探器。单击...并键入 PHP_CodeSniffer 安装的路径。在我们的例子vendor/bin/phpcs中,点击验证。它显示当前版本的工具提示。

PHP_CodeSniffer 设置

现在单击确定。

启用检查

在首选项中转到编辑器 | 检查 | PHP | 质量工具。启用PHP Code Sniffer validation复选框。然后在右侧找到设置页面。您必须PHPCompatibility从选择字段中选择标准,然后点击选择旁边的重新加载按钮。完成后,单击OK

您现在应该会在编辑器中看到带下划线的错误。可以在我们刚刚关闭的配置窗格中设置严重性和颜色。

启用 PHPCS

结论

现在您有两种方法来检查您的项目代码。CLI方式为您提供了关于代码状态的更好的总体概览,其中IDE方式可以帮助您在编码时注意不使用旧语言结构。


推荐阅读