这不是一个大问题,但它非常烦人。
使用刀片开始在laravel中创建模板时,一切看起来都很好。 “主”模板/布局使其“造型”正确。通过“样式化”,我的意思是在查看源代码时需要正确数量的空格,换行符等。
当您知道尝试扩展此主模板时,会出现此问题。
对于您知道的每个@section('<something>')
,所有新行都将从代码中删除,从而使源代码看起来很简单。
一直在搜索这种现象而没有发现任何有趣的东西,这解释了为什么或者可能是使源代码再次可读的解决方案。
如果解释不够好,这是一个例子:
// master.blade.php
<html>
<head>
<title>Something here</title>
</head>
<body>
@yield('content')
</body>
</html
好的,这在源代码中看起来与此完全相同。让我们制作一个扩展它的另一个模板。
// home.blade.php
@extends('master')
@section('content')
<h1>Welcome</h1>
<p>This is my homepage</p>
@endsection
这将首先继承父级,并将@yield('content')替换为:
<h1>Welcome</h1> <p>This is my homepage</p>
有没有解释为什么会发生这种情况? 对于更长的子模板,阅读源代码是一个活生生的地狱。查看“源代码”的最佳方法是在inspect元素中查看生成的元素,它也只是实时代码,而不是第一个生成的代码。
- Sligthly恼火的开发者
答案 0 :(得分:1)
我认为这取决于Laravels处理观点的方式。您在resources/views
中创建的每个刀片视图都将“翻译”为PHP。代码中的这一行,例如:
@yield('content')
将被翻译为
<?php echo $__env->yieldContent('content'); ?>
您可以通过查看storage/framework/views/
处的所有文件轻松检查自己。这是Laravel将用于构建“真正的”HTML
网站的文件。请注意,.blade.php
视图中的所有制表位都将替换为4个空格。并且有这种丑陋的意图。