为了账号安全,请及时绑定邮箱和手机立即绑定

我可以在 PHP 中重新定义常量而不会出错

我可以在 PHP 中重新定义常量而不会出错

PHP
MYYA 2021-09-18 11:01:15
据我所知,我们不能在 PHP 中重新定义常量。所以如果我这样做:define("DEVELOPMENT", true);理论上我不能使用以下方法重新定义它:define("DEVELOPMENT", false); (or) const DEVELOPMENT = false;问题是 PHP 让我这样做。它让我重新定义一个常量而不会抛出任何错误。显示错误开启(我有任何其他错误):ini_set('display_errors', 1);ini_set('display_startup_errors', 1);error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);怎么做才能使常量无法重新定义,并且如果我尝试会出错?我的 PHP 版本是 7.2.17
查看完整描述

2 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

报告所有php错误

error_reporting(E_ALL);

报告除通知外的所有 php 错误

error_reporting(E_ALL & ~E_NOTICE);

在您的情况下,您正在重新定义一个已经定义的常量,显示 PHP 会抛出一个通知。通过使用

error_reporting(E_ALL & ~E_WARNING & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);

您是在告诉 PHP 不要报告任何类型的通知或警告。你应该删除它们。
要获得所有警告和通知,请使用

error_reporting(E_ALL);

更多信息请参阅官方文档,并查看示例。


查看完整回答
反对 回复 2021-09-18
  • 2 回答
  • 0 关注
  • 247 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信