简体   繁体   中英

How can I correctly print the object content in PHP?

I am absolutly new in PHP and moreover in Laravel framework and I have the following problem.

I am doing:

    $attributes = array(
        'id' => $dettagliLogin->id,
        'username' => $dettagliLogin->email,
        'name' => $dettagliLogin->userName,
    );

    $user = new GenericUser($attributes);

    \Log::info('USER: '.(var_dump(($user))));

Where the last line:

\Log::info('USER: '.(var_dump(($user))));

should write the content of the $user object into a log file.

The problem is that into my log file I obtain this output:

[2017-01-30 10:25:19] local.INFO: USER:  

so it is as this object is empty but I think that it is not empty because then is used.

Why? How can I correctly print the object content?

You want to use var_export - here's the docs

\Log::info('USER: ' . var_export($user, true));

With the 2nd param set as true , this exports the contents of the supplied variable as an assignable string, rather than printing them straight onto the page.

Edit : I've also tidied up your code a little as you'd gone a bit nuts with braces!

var_dump does not have any return value , it outputs directly to stdOut. That's why you don't see anything there.

Use var_export with a second parameter of true to save the contents in a string.

Maybe you have too many '('

Try :

\Log::info('USER: '.var_dump($user));

If it doesn't work force your var_dump to be a string but normally you don't need to do that.

Hope it will help you :)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM