問題描述
我正在使用 Laravel 5.我想知道哪些是傳遞給視圖本身內(nèi)部視圖的所有變量.
I am using Laravel 5. I would like to know which are all variables passed to a view inside the view itself.
由于所有變量都在視圖范圍內(nèi),我認(rèn)為我可以使用通用的 PHP 函數(shù):get_defined_vars();
http://php.net/manual/en/function.get-defined-vars.php
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
像這樣:
// resources/view/home.blade.php
<html>
<body>
<?php print_r(get_defined_vars()); ?>
</body>
</html>
但是我想知道是否有更好的方法(例如View::getData()
)
But I would like to know if there is a better way (something like View::getData()
)
注意: get_defined_vars() 不起作用,因?yàn)樗祷亓藬?shù)百個(gè)無用的變量(Laravel 組件)
Note: get_defined_vars() deosn't work becausee it returns hundreds of useless variables (Laravel components)
這是一個(gè)使用 print_r(get_defined_vars())
的片段(部分)(我認(rèn)為它進(jìn)入無限遞歸循環(huán)):
This is a snippet (partial) using print_r(get_defined_vars())
(i think it goes in infinite recursion loop):
Array
(
[__path] => C:
etlaravelstorageframeworkviews/8e030a77b0bdbacc2c4182fc04420d1d
[__data] => Array
(
[__env] => IlluminateViewFactory Object
(
[engines:protected] => IlluminateViewEnginesEngineResolver Object
(
[resolvers:protected] => Array
(
[php] => Closure Object
(
[this] => IlluminateViewViewServiceProvider Object
(
[app:protected] => IlluminateFoundationApplication Object
(
[basePath:protected] => C:
etlaravel
[hasBeenBootstrapped:protected] => 1
[booted:protected] => 1
[bootingCallbacks:protected] => Array
(
[0] => Closure Object
(
[static] => Array
(
[instance] => IlluminateBusBusServiceProvider Object
(
[defer:protected] => 1
[app:protected] => IlluminateFoundationApplication Object
*RECURSION*
)
)
[this] => IlluminateFoundationApplication Object
*RECURSION*
)
[1] => Closure Object
(
[static] => Array
(
[instance] => IlluminateTranslationTranslationServiceProvider Object
(
[defer:protected] => 1
[app:protected] => IlluminateFoundationApplication Object
*RECURSION*
)
)
[this] => IlluminateFoundationApplication Object
*RECURSION*
)
)
[bootedCallbacks:protected] => Array
(
)
[terminatingCallbacks:protected] => Array
(
)
[serviceProviders:protected] => Array
(
[0] => IlluminateEventsEventServiceProvider Object
(
[app:protected] => IlluminateFoundationApplication Object
*RECURSION*
[defer:protected] =>
)
推薦答案
使用 dd
助手:
{{ dd(get_defined_vars()) }}
閱讀更多:https://laravel.com/docs/5.4/helpers#method-dd
更新(thx,@JoeCoder):您可以通過執(zhí)行以下操作進(jìn)一步減少無用"變量:
Update (thx, @JoeCoder): you can further cutdown on the "useless" variables by doing:
{{ dd(get_defined_vars()['__data']) }}
這篇關(guān)于列出 Laravel 視圖中的所有注冊(cè)變量的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!