我从最近几天开始学习Laravel,在课程中我一直遇到像
这样的错误unexpected ';'
下面是详细错误
FatalErrorException in
home/ubuntu/workspace/storage/framework/views/d54ff8380f369dc8c9bc785ef2c17d66e0f399b3.php line 10: syntax error,
unexpected ';'
虽然我能找到错误的原因, 这也是因为我的一个视图文件中存在一个印刷错误,即create.blade.php。
我的问题是如何在大项目中调试类似的错误,因为错误没有指出语法错误发生的确切文件名,虽然提到的行号是正确的?
如果我在上述问题中不清楚,请告诉我。
P.S。我也检查了日志,并说了同样的事情。
提前致谢, Sambhav
答案 0 :(得分:1)
嗯,当你开始使用laravel时很难找到这个错误,甚至最糟糕的是,当你在laravel中有几公里但是在相同的布局下编译了大量的视图时。
通常,当你在这样的刀片语法中加一个分号时会出现这个错误:
@if($something == true)
// code here
@endif;
在endif看到分号?好吧,这打破了拉拉维尔的观点。另一个经典是:
@lang('app.hello');
或
@endforeach;
如果关键字最后有分号,则需要查看关键字。我有时做的是单独调用视图以隔离错误,当您在具体中找到视图时,最容易找到错误。为什么laravel不会在错误跳跃的视图中显示当前行号?这是因为laravel首先将刀片语法编译成html文件,此文件被缓存以提高响应的速度。因此,laravel将编译甚至类似存在的类型;