使用技巧

在PHP 7.2中修复“不建议使用函数create_function()”的问题

PHP手册中所述,从PHP 7.2.0开始不推荐使用create_function()函数。即使它可以继续在您的应用程序中运行,官方警告是:

强烈建议不要使用此功能。

如果您继续使用此不推荐使用的功能,您还将直接在应用程序中获得PHP通知,以警告您。该通知如下所示:

不推荐使用:函数XX行的/path/to/your/php/file.php中不推荐使用create_function()函数

下面的代码行是WordPress插件(PHP Code Widget)中此功能的典型用法:

add_action('widgets_init', create_function('', 'return register_widget("PHP_Code_Widget");'));

通常,您不应该直接编辑第三方WordPress插件的代码,因为当插件作者发布任何更新时,您的编辑将被覆盖。通常,您应该要求作者在下一个版本中包括所需的更新。

相关阅读: 如何在没有Composer的情况下安装PHP软件包

但是,PHP Code Widget插件的作者已停止维护该插件(他甚至发布了有关此问题的官方消息)。

因此,让我们继续自己更新插件。

要修复create_function()警告消息,请注释掉上面的PHP代码行,并将其替换为以下行:

add_action('widgets_init', function(){return register_widget("PHP_Code_Widget");});

现在,我们用匿名函数(也称为闭包)替换了create_function()。现在,您不应再收到任何警告消息。