在某代码中看到这样一行:
// define e_user_deprecated for php
看 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
看 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, 这只是一个变通的做法,并不代表它们的含义一样。