解析错误:语法错误,意外' foreach' (T_FOREACH)[LARAVEL]?

时间:2017-10-27 18:50:07

标签: php laravel laravel-5

我目前正在使用 Laravel 5.5 ,而且我是初学者。在我运行我的服务器之后 - 我得到了

  

解析错误:语法错误,意外情况' foreach' (T_FOREACH)

这是我的index.blade.php文件

svg use

我该怎么办?我看到了其他类似的问题 - 但他们并没有帮助我。

2 个答案:

答案 0 :(得分:1)

Blade模板的正确语法是:

<body>
    <ul>
        @foreach ($markets as $market)
            {{ $market->name }}
            <li>
                <a href = {{ route('markets.show', $market) }}>
                    {{ $market->name }}
                </a>
            </li>
        @endforeach
    </ul>
</body>

https://laravel.com/docs/5.5/blade#loops

答案 1 :(得分:0)

在PHP标记中使用@foreach会让事情变得混乱。诸如@foreach之类的刀片标签不需要PHP开始标记,并且可以直接插入HTML。 Blade引擎将正确解释它们。

此外:

  • 请勿忘记使用@foreach
  • 关闭@endforeach来电
  • 无需以冗长的方式使用<?php echo e(); ?>,Blade会在使用{{ }}标记时输出转义内容。
  • 建议将href属性值放在双引号中。

重新格式化index.blade.php文件,如下所示:

<!doctype html>
<html lang="{{ app()->getLocale() }}">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <title>Market</title>

</head>
<body>
    <ul>
       @foreach ($markets as $market) {
            {{ market.name }}
            <li>
                <a href="{{ route('markets.show', $market) }}">
                    {{$market.name}}
                </a>
            </li>
       @endforeach
    </ul>
</body>

有关Blade模板引擎的更多信息,请查看official docs