【发布时间】:2016-03-23 07:55:45
【问题描述】:
PHP 中的可调用对象可以有多种形式,例如对象、数组或包含函数名称的字符串。
如果我在变量中有这样的可调用对象,我如何在日志中打印一些用户友好的“定义”。
想想这段代码:
call_user_func($callable);
$logger->log("Provided callable " . (string) $callable . " called");
问题是,这会引发错误,例如数组到字符串的转换错误。打印出有关该可调用对象的有用信息的最佳方式是什么?
【问题讨论】:
-
你考虑过var_export()吗?还是说的太详细了?
-
@dave 如果涉及到一个对象,那就太详细了。理想情况下,它只是类名、函数/方法名或描述性字符串(如果它是匿名函数)。我觉得我可以编写自定义代码来处理所有可能性,但不想重新发明轮子。