如何在Laravel中调试错误,如意外';'

时间:2016-03-17 15:44:47

标签: php laravel-5

我从最近几天开始学习Laravel,在课程中我一直遇到像

这样的错误
unexpected ';'

下面是详细错误

FatalErrorException in 
home/ubuntu/workspace/storage/framework/views/d54ff8380f369dc8c9bc785ef2c17d66e0f399b3.php line 10: syntax error, 
unexpected ';'

虽然我能找到错误的原因, 这也是因为我的一个视图文件中存在一个印刷错误,即create.blade.php。

我的问题是如何在大项目中调试类似的错误,因为错误没有指出语法错误发生的确切文件名,虽然提到的行号是正确的?

如果我在上述问题中不清楚,请告诉我。

P.S。我也检查了日志,并说了同样的事情。

提前致谢, Sambhav

1 个答案:

答案 0 :(得分:1)

嗯,当你开始使用laravel时很难找到这个错误,甚至最糟糕的是,当你在laravel中有几公里但是在相同的布局下编译了大量的视图时。

通常,当你在这样的刀片语法中加一个分号时会出现这个错误:

@if($something == true)
    // code here
@endif;

在endif看到分号?好吧,这打破了拉拉维尔的观点。另一个经典是:

@lang('app.hello');

@endforeach;

如果关键字最后有分号,则需要查看关键字。我有时做的是单独调用视图以隔离错误,当您在具体中找到视图时,最容易找到错误。为什么laravel不会在错误跳跃的视图中显示当前行号?这是因为laravel首先将刀片语法编译成html文件,此文件被缓存以提高响应的速度。因此,laravel将编译甚至类似存在的类型;