Php 更改以前定义的常量的值
我在PHP中定义了一个常量,例如Php 更改以前定义的常量的值,php,constants,Php,Constants,我在PHP中定义了一个常量,例如 define('CONSTANT_NAME', 'constant_value'); 我希望以后能够在代码中更改此常量的值 这能做到吗?如果是,怎么做?来自(重点是我的): define-定义命名的常量 发件人: 顾名思义,该值在脚本执行期间无法更改 你没有创建一个变量,你创建了一个常量。常数的要点是,它们不能改变 您应该改用true变量。当它以前定义为不区分大小写的常量(第三个参数)时,可以重新声明定义 见: 使用PHP CLI 5.2.6和5.5.3进行测
define('CONSTANT_NAME', 'constant_value');
我希望以后能够在代码中更改此常量的值
这能做到吗?如果是,怎么做?来自(重点是我的):
define
-定义命名的常量
发件人:
顾名思义,该值在脚本执行期间无法更改
你没有创建一个变量,你创建了一个常量。常数的要点是,它们不能改变
您应该改用true变量。当它以前定义为不区分大小写的常量(第三个参数)时,可以重新声明定义 见:
使用PHP CLI 5.2.6和5.5.3进行测试。有一种方法可以更改先前定义的常量。为此,必须启用PHP runkit扩展: runkit扩展提供了修改用户定义的常量的方法 函数和用户定义的类。它还提供了定制服务 通过沙盒的超全局变量和可嵌入子解释器 它使您能够在PHP中修改任何需要修改的方面。这是先进的东西
请注意,常数通常被定义为常数是有原因的,因此,在几乎任何情况下,将其更改为测试以外的其他用途可能都不是一个好主意。仅用于解决方法,将第三个参数传递为true将有助于您
define('CONSTANT_NAME', 'constant_value', true);
print CONSTANT_NAME.PHP_EOL;
define('CONSTANT_NAME', 'constant_value2');
print CONSTANT_NAME.PHP_EOL;
您可以使用使用const。。。作为…:
define('CONSTANT_NAME', 'constant_value');
define('NEW_CONSTANT_NAME', 'constant_value2');
use const NEW_CONSTANT_NAME as CONSTANT_NAME;
echo CONSTANT_NAME;
谢谢,我现在意识到了。我一直在使用define来定义一些“常量”,并认为我可以使用它们。我改用了“global$variable\u name”。不区分大小写已被弃用,并将在8.0.0版中删除。从PHP7.3开始就不推荐了。从PHP7.3开始就不推荐了。是的,现在他们修复了它!
define('CONSTANT_NAME', 'constant_value');
define('NEW_CONSTANT_NAME', 'constant_value2');
use const NEW_CONSTANT_NAME as CONSTANT_NAME;
echo CONSTANT_NAME;