Синтаксическая ошибка Laravel 5, неожиданные "расширения" (T_EXTENDS)

Это код моего контроллера:

class ArticlesController extends Controller {
    public function index()
    {
        $articles = Article::all();
        return view('articles.index',compact('articles'));
    }

}

My App.blade.php

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Title</title>
        <meta charset="UTF-8">
        <meta name=description content="">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <!-- Bootstrap CSS -->
        <link href="#" onclick="location.href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'; return false;" rel="stylesheet" media="screen">
    </head>
    <body>
        <div class="container">
            @yield('content')
        </div>

        @yield('footer')
        <!-- jQuery -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
        <!-- Bootstrap JavaScript -->
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    </body>
</html>

И index.blade.php

<?php

@extends('app')

@section('content')
    <h1>Articles</h1>
@stop

Это ошибка, которую я получаю:

FatalErrorException in 5f3efcdeb3d9812b22b5491d0cba9f22 line 3:
syntax error, unexpected 'extends' (T_EXTENDS)

Пожалуйста, помогите.


Решение, приведенное ниже. Хотя проблема глупа и легко исправить - трудно найти прямой ответ через Google Поиск. Следовательно, соблюдение этого вопроса.

Ответ 1

Теги <?php ?> не требуются в файлах .blade.php. Удалите их, и это сработает.

(Синтаксис лезвия не обязательно должен быть в тегах php. Однако вы можете включить PHP-код в теги.)

Ответ 2

Я знаю, что это немного устарело, но проблема была явно упущена.

В вашем файле index.blade.php отсутствует отсутствующий ярлык php "? > ".

Лезвие sytanx @extends, @section и т.д. должно находиться в вашем html снаружи любого блока кода php.

Ответ 3

Теги <?php ?> не требуются в вашем файле ларавельного лезвия, сохраненном с расширением .blade.php. larvel templating engine автоматически анализирует команды лезвия из этих файлов.

Но если вы хотите включить php-код в свой файл клика, который не является частью команд blade-сервера, вам нужно будет использовать теги <?php ?>.

Ответ 4

Когда вы используете @extends, это должен быть первый фрагмент кода в вашем файле клика.

Пустое пространство или пустая новая строка до @extends также выдаст ошибку.