Laravel 5.8 - 如何在视图中从控制器转储参数



我是PHP框架Laravel的新手(我使用的是5.8版(,我想从视图中转储控制器的所有变量。这可能吗?

感谢您的帮助:)

Laravel内部使用一个$__data数组,其中包含所有可用变量(包括与所有视图共享的变量(。

此外,它还包含IlluminateFoundationApplication的实例(如$__data['app'](和IlluminateViewFactory的实例(如$_data['__env'](。

您可以使用IlluminateSupportArr::except($__data, ['app', '__env'])过滤掉这些内容。

但是您不应该依赖它,因为它是一个内部变量,可能会在没有任何警告的情况下在未来更新中更改。

您可以使用

{{ dump($variable); }}

@php dump($variable); @endphp

更新

列出Laravel视图中的所有已注册变量

{{ dump(get_defined_vars()['__data']) }}

参见参考资料

首先,您应该将变量从控制器传递到视图。最好的方法是在返回视图的第二个参数中使用compact,如下所示:

return view("viewName",compact("variable1","variable2",...));

请注意,在紧凑中只使用变量名而不带$符号。

传递变量以查看后,您可以在每个您喜欢查看变量的地方使用{{dd($variable1)}}{{echo($variable1)}}(例如(。

dd()不允许调试剩余的代码并为show变量die程序,它更适合调试。但echo()适用于发布版本。

最新更新