当我使用@extends
和@yield
时,Laravel会在我的源代码中生成空白字符,这是一个令人讨厌的错误。
例如,这些是我index.blade.php
文件的第一行:
@extends('template.main')
@section('metas')
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
@stop
我的模板文件就是这样开始的:
<!DOCTYPE html>
<html lang="{{ Config::get('app.locale') }}">
<head>
@yield('metas')
这是我得到的输出:
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
如您所见,文件的最开头(DOCTYPE
声明之前)有六个空格字符,第一个meta
元素之前有一个空白字符。
这不是什么大事,但我想找到一种解决方法。我尝试过使用空格,标签,消除空白等所有内容......但到目前为止还没有任何工作!
答案 0 :(得分:1)
在调用刀片功能之前,你肯定有它们(空格)。我会说:
在@extends('template.main)
之前,可能在上面的一行中,你有这6个空格。同样适用于@sections('metas')
,在你打破线之前可能在决赛中有空格。
我打赌这就是问题所在。我希望它有所帮助! :d