2015-06-03 7 views
10

Dies ist der Code in meinem Controller:Laravel 5 Syntaxfehler, unerwartete 'erweitert' (T_EXTENDS)

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

} 

Mein 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="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" 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> 

Und index.blade.php

<?php 

@extends('app') 

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

Dies ist der Fehler, die ich bekomme:

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

Bitte helfen Sie.


Lösung unter aufgeführt. Während das Problem albern und einfach zu beheben ist, ist es schwierig, eine direkte Antwort über die Google-Suche zu finden. Daher behalte diese Frage.

+1

5f3efcdeb3d9812b22b5491d0cba9f22 ist Ihre Ansicht, wenn Sie Ihre App laufen Thea Blade-Ansichten werden in eine Probe php temporäre Datei, die Ihre Ansicht in normaler PHP-Sprache enthält konvertieren. Die temporäre Ansicht wird gespeichert in: 'storage/framework/views /' versuche die '5f3efcdeb3d9812b22b5491d0cba9f22' Datei zu öffnen und zu sehen, was passiert ist –

Antwort

26

Die <?php ?> Tags sind nicht erforderlich in .blade.php Dateien. Entferne sie und es funktioniert.

(Die Klinge Syntax muss nicht in php-Tags sein. Sie kann jedoch PHP-Code in Tags enthalten.)

0

Wenn Sie @extends verwenden, ist es das erste Stück Code in Blade-Datei sein muss.

Ein Leerzeichen oder eine leere neue Zeile vor @extends wird ebenfalls einen Fehler auslösen.

1

Die <?php ?> Tags sind nicht in Ihrer Laravel Blade-Datei erforderlich gespeichert mit der Erweiterung .blade.php Laravel Template-Engine automatisch Blade Befehle aus diesen Dateien analysieren.

Wenn Sie jedoch PHP-Code in Ihre Blade-Datei einfügen möchten, die nicht Teil der Blade-Engine-Befehle ist, müssen Sie <?php ?> Tags verwenden.

2

Ich weiß, das ist ein bisschen alt, aber das Problem wurde eindeutig verpasst.

In Ihrer Datei index.blade.php fehlt das abschließende PHP-Tag "?>".

Die Klinge sytanx @Extends, @Sektion etc ... sollte in Ihrem HTML auf der Außenseite eines PHP-Code-Block sein.

Verwandte Themen