Joomla var_dump等效于插件中的数组

时间:2013-03-27 21:35:27

标签: php joomla joomla2.5

我有一个Joomla插件,注册后会触发。我遇到了问题,但不知道如何正确调试它,因为插件只发生在事件上。

到目前为止,我一直在使用默认的Joomla日志记录:

jimport('joomla.log.log');
JLog::addLogger(array('text_file' => 'myfile.log.php'));

JLog::add('The value is: '.$something);

这很好但不适用于阵列。如何将数组的内容转储到文件(或控制台)以查看发生了什么?目前它只会显示“数组”。

3 个答案:

答案 0 :(得分:6)

这个怎么样:

JLog::add('The value is: '.print_r($something, true));

print_r()的第二个参数设置为true表示它返回一个字符串而不是输出它

答案 1 :(得分:2)

对于调试,最佳解决方案是使用与XDebug一起使用的IDE(如Eclipse with PDTJet Brain's PhpStorm),但如果您尝试调试是远程托管的Joomla,它们并不总是实用的!网站。

在这种情况下,最好的解决方案之一是J!Dump,它可以让您显示所有数据类型,甚至可以使用数据和流程树弹出一个调试窗口。

你可以在Joomla的Development部分找到它!扩展程序目录(JED

J!转储其他方法在How to debug your code

上的“Joomla!'s Doc's website”中讨论

答案 2 :(得分:0)

您可以尝试缓冲var_dump()的输出:

[...]

ob_start();
var_dump($something);
$a=ob_get_contents();
ob_end_clean();

JLog::add('The value is: '.$a);

来源:http://www.php.net/manual/de/function.var-dump.php#77234