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

问题描述 投票:0回答:3

我有一个不再维护的 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/' );
php constants case-insensitive deprecation-warning
3个回答
7
投票

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

在您的情况下,重要的是您需要检查代码以查看

DOIFD_SERVICE
是否用在不全部大写的地方,例如
doifd_service
,并将所有实例替换为全部大写
DOIFD_SERVICE
(代码中可能有一些,否则参数可能不会被设置为
true

换句话说,替换这个:

define( 'DOIFD_SERVICE', '', true );

有了这个:

define( 'DOIFD_SERVICE', '' );

3
投票

你必须改变

define( 'DOIFD_SERVICE', '', true );
                           ^^^^^^^

define( 'DOIFD_SERVICE', '');

问题可能是,

doifd_service
doIFd_Service
和...不再定义。如果这很重要,请添加

 define( 'doifd_service', '');

混合大小写(CamelCase)不常见与下划线组合。


0
投票

代码不同,我使用“SaFly-Curl-Patch”第三方插件来解决 php 错误,有相同的错误,因此要修复它,转到插件文件夹找到编辑 safly 插件,

define('SCP_INC', 'safly', TRUE);

define('SCP_INC', 'safly');

可能在第26行,希望这对你有用!

© www.soinside.com 2019 - 2024. All rights reserved.