在PHP中执行字符串作为求值
我有以下代码:在PHP中执行字符串作为求值,php,Php,我有以下代码: <?php class test { private $linenum = "__LINE__ . \" - \" . __CLASS__"; function exec() { return $$this->linenum; } } $x = new test(); print_r($x->exec()); 如的文档所述: 所有这些“神奇”常量都是在编译时解
<?php
class test
{
private $linenum = "__LINE__ . \" - \" . __CLASS__";
function exec()
{
return $$this->linenum;
}
}
$x = new test();
print_r($x->exec());
如的文档所述:
所有这些“神奇”常量都是在编译时解析的
传递给的字符串的编译时间发生在执行eval()
时,但\uuuu行\uuuuu
在其获取用于计算的源代码中(即在$linenum
中生成的一行)
使用这种想法无法实现日志记录
坚持。即使它的名称中包含“debug”,它在PHP中也始终可用(除非它在条目下的PHP.ini
中被特别禁用)。所有最常用的框架和库在需要生成好的日志时都会使用它