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

据我所知,我们不能在 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


MYYA
浏览 248回答 2
2回答

UYOU

报告所有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);更多信息请参阅官方文档,并查看示例。
打开App,查看更多内容
随时随地看视频慕课网APP