如何在PHP中正确打印对象内容?

时间:2017-01-30 10:30:53

标签: php laravel laravel-5

我在 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:  

所以这个对象是空的,但我认为它不是空的,因为它被使用了。

为什么呢?如何正确打印对象内容?

3 个答案:

答案 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是一个字符串,但通常你不需要这样做。

希望它会对你有所帮助:)。