Home  >  Article  >  Backend Development  >  php常量 - PHP 5.3 为什么要引入 E_USER_DEPRECATED? 和 E_USER_WARNING 有什么区别?

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

WBOY
WBOYOriginal
2016-06-06 20:39:171195browse

在某代码中看到这样一行:

<code>// Define E_USER_DEPRECATED for PHP </code>

看 http://php.net/manual/zh/errorfunc.constants.php 中同时存在以上两个系统常量. 功能似乎是一样的. 那它们有什么区别吗?

E_DEPRECATED 和 E_USER_DEPRECATED 是 PHP 5.3 新增了两个错误等级, 是否表明我们应该优先采用新的? 是否建议弃用 E_USER_WARNING?

回复内容:

在某代码中看到这样一行:

<code>// Define E_USER_DEPRECATED for PHP </code>

看 http://php.net/manual/zh/errorfunc.constants.php 中同时存在以上两个系统常量. 功能似乎是一样的. 那它们有什么区别吗?

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, 这只是一个变通的做法,并不代表它们的含义一样。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn