I am using Laravel 5. I would like to know which are all variables passed to a view inside the view itself.
Since all variables are in the view scope I thought I could use the generic PHP function: get_defined_vars();
http://php.net/manual/en/function.get-defined-vars.php
Something like this:
// resources/view/home.blade.php <html> <body> <?php print_r(get_defined_vars()); ?> </body> </html>
But I would like to know if there is a better way (something like View::getData()
)
Note: get_defined_vars() deosn't work becausee it returns hundreds of useless variables (Laravel components)
This is a snippet (partial) using print_r(get_defined_vars())
(i think it goes in infinite recursion loop):
Array ( [__path] => C:\net\laravel\storage\framework\views/8e030a77b0bdbacc2c4182fc04420d1d [__data] => Array ( [__env] => Illuminate\View\Factory Object ( [engines:protected] => Illuminate\View\Engines\EngineResolver Object ( [resolvers:protected] => Array ( [php] => Closure Object ( [this] => Illuminate\View\ViewServiceProvider Object ( [app:protected] => Illuminate\Foundation\Application Object ( [basePath:protected] => C:\net\laravel [hasBeenBootstrapped:protected] => 1 [booted:protected] => 1 [bootingCallbacks:protected] => Array ( [0] => Closure Object ( [static] => Array ( [instance] => Illuminate\Bus\BusServiceProvider Object ( [defer:protected] => 1 [app:protected] => Illuminate\Foundation\Application Object *RECURSION* ) ) [this] => Illuminate\Foundation\Application Object *RECURSION* ) [1] => Closure Object ( [static] => Array ( [instance] => Illuminate\Translation\TranslationServiceProvider Object ( [defer:protected] => 1 [app:protected] => Illuminate\Foundation\Application Object *RECURSION* ) ) [this] => Illuminate\Foundation\Application Object *RECURSION* ) ) [bootedCallbacks:protected] => Array ( ) [terminatingCallbacks:protected] => Array ( ) [serviceProviders:protected] => Array ( [0] => Illuminate\Events\EventServiceProvider Object ( [app:protected] => Illuminate\Foundation\Application Object *RECURSION* [defer:protected] => )
Use the dd
helper:
{{ dd(get_defined_vars()) }}
Read more: https://laravel.com/docs/5.4/helpers#method-dd
Update (thx, @JoeCoder): you can further cutdown on the "useless" variables by doing:
{{ dd(get_defined_vars()['__data']) }}
Kind of the same, but a bit tidier :
{{ dd($__data) }}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With