我在 PHP 中是绝对新的,而且在 Laravel 框架中我有以下问题。
我在做:
$attributes = array(
'id' => $dettagliLogin->id,
'username' => $dettagliLogin->email,
'name' => $dettagliLogin->userName,
);
$user = new GenericUser($attributes);
\Log::info('USER: '.(var_dump(($user))));
最后一行:
\Log::info('USER: '.(var_dump(($user))));
应将 $ user 对象的内容写入日志文件。
问题是我的日志文件中我得到了这个输出:
[2017-01-30 10:25:19] local.INFO: USER:
所以这个对象是空的,但我认为它不是空的,因为它被使用了。
为什么呢?如何正确打印对象内容?
答案 0 :(得分:3)
您想使用var_export
- here's the docs
\Log::info('USER: ' . var_export($user, true));
将第二个参数设置为true
,这会将提供的变量的内容导出为可分配的字符串,而不是将它们直接打印到页面上。
修改:我已经整理了一些代码,因为你的大括号有点疯了!
答案 1 :(得分:1)
var_dump
does not have any return value,它直接输出到stdOut。这就是你在那里看不到任何东西的原因。
使用var_export
和第二个参数true
将内容保存在字符串中。
答案 2 :(得分:-2)
也许你有太多'('
尝试:
\Log::info('USER: '.var_dump($user));
如果它不起作用,强制你的var_dump是一个字符串,但通常你不需要这样做。
希望它会对你有所帮助:)。