好的,我终于切换到了PHP7。我的代码有点陈旧,将进行翻新。一些问题是:
class MagicClass
function MagicClass(){
//etc
}
在执行期间给出了弃用警告:
不推荐使用:与其类同名的方法不会 PHP未来版本中的构造函数; MagicClass已被弃用
中的构造函数
这很好:
class MagicClass
function __construct(){
//etc
}
我如何获得PhpStorm代码检查以警告我当前代码库中存在此类错误?
答案 0 :(得分:3)
它看起来不像PhpStorm v10支持这种特定情况。它具有“PHP 7兼容性”检查,但它不以任何方式标记此代码(无论您选择哪种PHP语言级别 - 无论是5.6还是7)。
解决方案是安装“Php Inspection(EA Extended)”插件 - 它有这样的检查,即使您选择5.x作为PHP语言级别它也能正常工作。
请注意:此插件有很多检查,其中一些您可能会认为是错误/无用等等。所以您可能需要通过此插件提供的每次额外检查如果需要,请将其禁用。
答案 1 :(得分:1)
在Preferences
(在OSX上)或Settings
(在Windows& Linux上)对话框中选择Languages & Frameworks
- >左侧列表中的PHP
然后检查PHP language level
下拉框。如果您的PhpStorm
不是很老,那么您应该在该列表中使用PHP版本7。
PhpStorm
使用选定的PHP版本检查代码是否存在语法问题。它不需要安装指定的PHP版本(我猜它会附带解释器。)
选择PHP版本后,转到Editor
- > Inspections
(也在Preferences
/ Settings
窗口的左侧),然后在右侧确保PHP
- > General
- >检查Language Level
检查。在其描述中它说:
检查源代码中使用的语言功能是否与所选语言级别相对应。 (即特征只能在PHP 5.4中使用)。所需的语言级别在项目配置中设置(项目设置| PHP)。
<强>更新强>
显然,PhpStorm
的当前版本并未处理此特定问题。我用版本9.0.2,10.0.3和11 EAP进行了测试,没有人抱怨PHP4风格的构造函数。
语言级别检查似乎更侧重于新PHP功能的使用,而不是已弃用的功能。
答案 2 :(得分:1)