是否可以在 PHP 中解析常量的内容?
例如,
define('WHO_AM_I', 'My name is $_SESSION['who_am_i'].'); // setup the constant string
echo eval(WHO_AM_I); // something like this -- but the eval() returns an error
请注意,直到我稍后在脚本流中实际使用该常量时,我才知道 _SESSION var 的值。
谢谢。
修改了想要这样做的原因
我想从我的脚本中提取“硬编码”,并让用户能够在他们的站点中配置某些分类法。因此,当我这样做时,我还想创建一个准动态常量,我认为我可以稍后在脚本中解析它。
如果做不到……那就做不到。
不过,不要因为我问这个问题而开枪。
避免所有这些混乱的最后评论
我的问题的目的与 eval() 函数无关。我真的很后悔一开始就把它放在那里。
我将 eval() 放在问题中只是为了向 stackoverflow 成员展示我做了一些准备,而不是问一个开放式的问题——嘿,给我一个解决方案,而我自己没有提出任何问题。所以请忽略eval()。
我想知道的是,我能否以某种方式制作一个define(),以便稍后在我的脚本中解析分配的值。就是这样,仅此而已。
修正案 C
我知道我可以执行以下操作,尽管我不想这样做:
define('PARSE_ABLE_CONSTANT_PART_A', 'My name is ');
define('PARSE_ABLE_CONSTANT_PART_B', '.');
...后来沿着脚本之路...
echo PARSE_ABLE_CONSTANT_PART_A . $_SESSION['who_am_i'] . PARSE_ABLE_CONSTANT_PART_B;
如果我可以使用常量中的嵌入式 var 使其更流畅,我只是不想这样做。