语法错误,意外':',期待'('在Laravel中

时间:2016-04-14 08:39:27

标签: laravel laravel-5.2 laravel-blade

我已经对这个错误做了一些谷歌搜索我有一个似乎是刀片模板中的错误但我看不到我做了什么不同于我工作的其他模板。这是错误消息

FatalErrorException in 66e07bb82defb1810fc6e13b82dc623493bf38fa.php line 11:
syntax error, unexpected ':', expecting '('

这是我未触及的文件中的代码行,在我的IDE中显示为错误

<?php if: ?> 

最后这是我的视图,当我提交表单时会触发错误消息。

    @extends('templates.default')

@section('content')
<div class="col-md-6 col-md-offset-3">
            <h3>Your Account</h3>
            <form action="{{ route('profile.avatar') }}" method="post" enctype="multipart/form-data">
                <div class="form-group">
                    <label for="image">Image (only .jpg)</label>
                    <input type="file" name="image" class="form-control" id="image">
                </div>
                <button type="submit" class="btn btn-primary">Save Account</button>
                <input type="hidden" value="{{ Session::token() }}" name="_token">
            </form>
</div>
@stop

templates.default

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        @include('templates.partials.navigation')
        <div class="container">
            @include('templates.partials.alerts')
            @yield('content')
        </div>
    </body>
</html>

3 个答案:

答案 0 :(得分:1)

忘记输入laravel刀片模板控件结构指令所需的完整语法可能会导致这种情况。例如,以下内容将产生与OP相同的错误:

@if (count($data) == 0)
    //do something
@elseif
    //do something else
@endif

虽然以下代码没有:

@if (count($data) == 0)
    //do something
@else
    //do something else
@endif

@elseif部分需要评估一个条件,并且在找不到任何刀片模板解析器消失的情况下。

答案 1 :(得分:0)

您不应使用<meta name="viewport" content="width=device-width, initial-scale=1"> 之类的内容。如果要在Blade模板中使用条件,请执行以下操作:

<?php if: ?>

Read here了解更多信息。

答案 2 :(得分:0)

正在调用的函数是将我重定向到另一个我没有检查的视图,当我意识到它在提交表单时重定向我然后检查了视图并且它有一个流浪的@if在其中导致了错误。