PhpStorm 2021.3 Help

代码检查:旧式构造函数

报告旧式构造函数声明 ( ClassName()) 并建议用新式构造函数 ( __construct()) 替换它们。

在 PHP 8.0 之前,全局命名空间中的类中使用的旧式构造函数语法被视为已弃用,并会导致E_DEPRECATED错误。如果同时定义了 a__construct()ClassName()方法,__construct()将被调用。

在命名空间类或 PHP 8.0 之后的任何类中,ClassName()方法永远不会有任何特殊含义,也永远不会被称为构造函数。因此,如果 PHP 语言级别设置为 8.0 或更高版本,则检查不会报告此类情况。

有关详细信息,请参阅构造函数和析构函数 (php.net)

强烈建议不要使用旧式构造函数。在 PHP 7 中,此类用法会引起E_DEPRECATED注意。在未来的 PHP 版本中,将删除对旧式构造函数的支持。在以下示例中,类的构造函数以Example旧形式定义。

类示例 { 公共函数示例() {} }
类示例 { 公共函数 __construct() {} }

禁止编辑器中的检查

  1. 将插入符号放在突出显示的行上,然后按Alt+Enter或单击意图操作图标

  2. 单击要抑制的检查旁边的箭头,然后选择必要的抑制操作。

最后修改:2022 年 2 月 11 日