2

我有一个恼人的错误,当我使用@extends和时,Laravel 会在我的源代码中产生空白字符@yield

例如,这些是我的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元素之前有一个。

这不是什么大问题,但我想找到一种方法来解决它。我尝试了所有方法,从使用空格、制表符、消除空白行……但到目前为止没有任何效果!

4

1 回答 1

1

在调用刀片功能之前,您肯定拥有它们(空格)。我将解释:

之前@extends('template.main),可能在上面的一行中,您有这 6 个空格。同样适用@sections('metas')于决赛中可能有空格的那个,在你“打破”这条线之前。

我敢打赌,这就是问题所在。我希望它有帮助!:D

于 2013-10-27T05:21:37.550 回答