当视图中有一些错误时,L4 显示一个很好的跟踪,但缓存的文件名:打开:/var/www/webpage/app/storage/views/1154ef6ad153694fd0dbc90f28999013
如何在视图渲染到缓存期间保存视图的路径/名称(在评论或其他内容中)?或者更好 - 在调试错误页面中显示它(它叫做哎呀什么的?)
谢谢 ;)
这不完全是一个问题,这是您视图的编译版本。
Laravel Blade System 会将你所有的视图和子视图编译到一个文件中,如果你没有对它们进行任何更改,它将始终尝试使用编译后的版本,以加速你的系统。
有时很难知道我们的一个观点与那个错误有关。使用 Sublime 文本,我所做的是按 CTRL-P(Windows)并粘贴已编译视图的编号(1154ef6ad153694fd0dbc90f28999013),它会立即带给我。
当然,您不会对其进行任何更改。这只是查找您有问题的视图的方法,因此您可以找到真实文件并修复它。如果您知道哪个文件是有问题的文件,则不必这样做,直接转到您的文件。
我不知道如何解密视图名称,但我做的一种方法是
{{dd('will you reach here ')}}
试图将这条线从一个视图移动到另一个视图,以观察 php 渲染到达的位置。
我知道这不是正确的方法,也不是专业的方法,但在某些情况下它可能会有所帮助。
解决此问题的一种方法是在得到回显的部分中添加html
注释(不是注释blade
,因为它们不会在编译视图中呈现)。
@section('content)
<!-- FILE: app/views/main/index.blade.php -->
<Your Content Goes Here>
@stop
此 html 注释将在视图的编译源中呈现。当然,您必须首先检查编译后的视图,以确定哪个视图是有问题的。但根据我的经验,这种方法几乎一直有效。
在查看源代码后,我找到了答案,当在哎呀!页面,只需在侧边栏中查找render,就会有视图文件的名称...
我创建了一个帮助程序来检查您是在本地工作还是在开发模式下工作,然后它会输出一个 HTML 注释。
{{ printViewComment('mockup/reports@content') }}
<!-- Template: mockup/reports@content -->
我选择将评论命名为path.file_name@yeild_name但我只希望这是一个自动功能。