如何修复不推荐使用的不区分大小写常量的特定声明警告

Amb*_*ron 3 php constants case-insensitive deprecation-warning

我有一个不再维护的 WordPress 插件,但我还没有找到任何可以令人满意地替代它的插件。因此,PHP 的更新开始在插件中生成警告。我对 PHP 的了解很少,并且不确定我到底需要做什么来更新以下代码片段,以避免在 PHP 7.3 下出现警告“不推荐使用大小写常量声明”。

这是片段:

$uploads = wp_upload_dir();

define( 'DOIFD_SERVICE', '', true );
define( 'DOIFD_VERSION', '2.1.6' );
define( 'DOIFD_URL', plugin_dir_url( __FILE__ ) );
define( 'DOIFD_DIR', plugin_dir_path( __FILE__ ) );
define( 'DOIFD_DOWNLOAD_DIR', $uploads[ 'basedir' ] . '/doifd_downloads/' );
define( 'DOIFD_DOWNLOAD_URL', $uploads[ 'baseurl' ] . '/doifd_downloads/' );
define( 'DOIFD_IMG_URL', plugin_dir_url( __FILE__ ) . 'public/assets/img/' );
define( 'DOIFD_ADMIN_IMG_URL', plugin_dir_url( __FILE__ ) . 'admin/assets/img/' );
Run Code Online (Sandbox Code Playgroud)

Kad*_*ath 10

不再支持case_insensitive参数,因此您应该从函数调用中删除第三个参数 ( )。true

在您的情况下,重要的部分是您需要检查代码以查看是否DOIFD_SERVICE在不全部大写的地方使用 ,例如doifd_service,并将所有实例替换为全部大写DOIFD_SERVICE(代码中可能有一些,否则该参数可能未设置为true

换句话说,替换这个:

define( 'DOIFD_SERVICE', '', true );
Run Code Online (Sandbox Code Playgroud)

有了这个:

define( 'DOIFD_SERVICE', '' );
Run Code Online (Sandbox Code Playgroud)