file:app / route.php
Route::get('/', function()
{
return View::make('home');
});
file:app / views / 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
file: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')
但是,如果我删除了
{{ - 刀片评论。 - }}
然后它完美无缺。
我可以知道这是什么问题吗?
答案 0 :(得分:7)
扩展刀片视图中的第一行必须是@extends指令。
答案 1 :(得分:2)
是的,这是开发者的惯例。
请查看119
行BladeCompiler.php。
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;
}