模板中,代码插入指定位置是使用@yield和@section配合以外,还有没有插入默认位置的语法呢?
laravel的模板继承中,如果在被继承的文件中不指定@yield,有没有一个标签表示默认在该位置插入代码,别的文件来继承它时就不用写@section/@endsection,框架就会把当前文件的所有代码插入到被继承文件指定的默认位置。
比如:
视图文件目录结构:
|views
|——layout
|————base.blade.php
|————header.blade.php
|——welcome.blade.php
### base.blade.php
<body>
@include("layout.header")
<main style="padding: 20px">
@yield("content")
</main>
</body>
我在这儿能不能把@yield换成一个代表 默认 的标签,比如thinkphp 的{__CONTENT__}
然后在welcome.blade.php中只需要使用@extend(‘layout.base’),就不用@section/@endsection了
### welcome.blade.php
@extend('layout.base')
<h1>main标签中内容</h1>
<div>
...
</div>
<style>
...
</style>
<script>
...
</script>
section 和 yield 都是用来做占位的,如果没有占位符,程序不知道你要放在哪里。如果你真的想用 tp 的那套格式,你可以去做自定义组件来完成。 Laravel 宁愿不做,也不会拿出
{__CONTENT__}
这种蹩脚实现。这样的话不是又跟
@inclide
一样了吗