在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()。現在,您不應再收到任何警告消息。

相關文章