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 cou
Kind of the same, but a bit tidier :
{{ dd($__data) }}
If you are using Laravel 5.1 which now allows to extend Blade with custom directives you might find this useful. You need to register directives in AppServiceProvider like in this example or create you own provider.
/**
* Blade directive to dump template variables. Accepts single parameter
* but also could be invoked without parameters to dump all defined variables.
* It does not stop script execution.
* @example @d
* @example @d(auth()->user())
*/
Blade::directive('d', function ($data) {
return sprintf("<?php (new Illuminate\Support\Debug\Dumper)->dump(%s); ?>",
null !== $data ? $data : "get_defined_vars()['__data']"
);
});
/**
* Blade directive to dump template variables. Accepts single parameter
* but also could be invoked without parameters to dump all defined variables.
* It works similar to dd() function and does stop script execution.
* @example @dd
* @example @dd(auth()->user())
*/
Blade::directive('dd', function ($data) {
return sprintf("<?php (new Illuminate\Support\Debug\Dumper)->dump(%s); exit; ?>",
null !== $data ? $data : "get_defined_vars()['__data']"
);
});
For better readability and debugging purposes, you can also create a helper which turns output into an array.
// as per comment from Braunson add this to custom helpers function in app\helpers.php and include it via composer.
if (! function_exists('da')) {
/**
* Dump the passed variables to array and end the script.
*
* @param mixed
* @return void
*/
function da()
{
array_map(function ($x) {
dd($x->toArray());
}, func_get_args());
}
}
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']) }}
Use Laravel Helper function DD
Use DD in blade view:
{{ dd($__data) }} OR <?php dd($__data); ?>
Above both methods works in blade view.