跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

php常量 - PHP 5.3 为什么要引入 E_USER_DEPRECATED? 和 E_USER_WARNING 有什么区别?

在某代码中看到这样一行:
// Define E_USER_DEPRECATED for PHP < 5.3. if (!defined("E_USER_DEPRECATED")) define('E_USER_DEPRECATED', E_USER_WARNING);
看 http:// php .net/manual/zh/errorfunc.constants.php 中同时存在以上两个系统常量. 功能似乎是一样的. 那它们有什么区别吗? E_DEPRECATED 和 E_USER_DEPRECATED 是 PHP 5.3 新增了两个错误等级, 是否表明我们应该优先采用新的? 是否建议弃用 E_USER_WARNING? 回复内容: 在某代码中看到这样一行:
// Define E_USER_DEPRECATED for PHP < 5.3. if (!defined("E_USER_DEPRECATED")) define('E_USER_DEPRECATED', E_USER_WARNING);
看 http://php.net/manual/zh/errorfunc.constants.php 中同时存在以上两个系统常量. 功能似乎是一样的. 那它们有什么区别吗? 立即学习 “ PHP免费学习笔记(深入) ”; PHP 8.5.5 PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。 下载 E_DEPRECATED 和 E_USER_DEPRECATED 是 PHP 5.3 新增了两个错误等级, 是否表明我们应该优先采用新的? 是否建议弃用 E_USER_WARNING? WARNING 和 DEPRECATED 有不同的语义,建议先查一下字典了解一下它们在英文里是什么意思。 回到这个具体场景,DEPRECATED 表示被用到的功能被弃用,通常文档中会写建议改用其他哪种方式来实现。 WARNING 表示因为可能不正确的用法而产生的警告,比如传递了错误格式的参数。 因为 E_USER_DEPRECATED 在 5.3 才引入,所以在 5.3 之前,可以把 E_USER_DEPRECATED 定义成 E_USER_WARNING, 这只是一个变通的做法,并不代表它们的含义一样。

相关文章