2013-06-10 1 views
2

файл: приложение/route.phpклинка Шаблон с комментарием на вершине не работает

Route::get('/', function() 
{ 
    return View::make('home'); 
}); 

файл: приложение/просмотров/home.blade.php

{{-- Blade comment. --}} 
@extends('layouts.base') 

@section('head') 
    <link rel="stylesheet" href="second.css" /> 
@stop 

@section('body') 
    <h1>Heading</h1> 
    <p>Hello Home!</p> 
@stop 

файл: app/views/layouts/base.blade.php

<!doctype html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title></title> 
    @section('head') 
    <link rel="stylesheet" href="style.css" /> 
    @show 
</head> 
<body> 
    @yield('body') 
</body> 
</html> 

Когда я получить доступ к laravel.localhost/ это только выходные @extends ('') layouts.base

но однако, если я удалю

{{- Клинок комментарий. -}}

затем он отлично работает.

Могу ли я узнать, в чем проблема?

ответ

6

Первой строкой вашего расширенного вида лезвия должна быть директива @extends.

+0

Это значит, что я не могу добавить комментарий к началу по файлу? – Shiro

+1

В этом случае, насколько я знаю, вы не можете, директива @extends должна быть на самом верху, а затем вы можете написать свой комментарий. – ObSeSSeN

1

Да, это соглашение со стороны разработчиков. Посмотрите на BladeCompiler.php на линии 119.

protected function compileExtends($value) 
    { 
     // By convention, Blade views using template inheritance must begin with the 
     // @extends expression, otherwise they will not be compiled with template 
     // inheritance. So, if they do not start with that we will just return. 
     if (strpos($value, '@extends') !== 0) 
     { 
      return $value; 
     }