Laravel Blade:@endsection 与 @stop

Posted

技术标签:

【中文标题】Laravel Blade:@endsection 与 @stop【英文标题】:Laravel Blade: @endsection vs @stop 【发布时间】:2014-02-07 13:56:49 【问题描述】:

在 Laravel Blade 中,我们基本上可以这样做:

@section('mysection')

@endsection


@section('mysection')

@stop

@stop@endsection 有什么区别?

【问题讨论】:

两者都可以工作 @endsection@stop。我发现@endsection 感觉更直观。这就是为什么我在 laravel 8 中也使用 @endsection。注意:在 laravel 8 文档中,你不会找到更多关于 `@stop 的信息。 【参考方案1】:

@endsection@stop 都有效。

在 Laravel 4 中,似乎只支持 @stop 1。但是从 Laravel 5 开始,@stop 甚至没有在文档2 中提及。

所以我建议使用 @endsection

见:

Laravel 4 Blade Documentation Laravel 5.7 Blade Documentation(目前稳定)

【讨论】:

因为 Laravel 方向的改变,现在这个是正确答案!【参考方案2】:

Taylor Otwell 的权威回答

@endsection 在 L4 中变为 @stop,就像 @yieldSection 变为 @show

At github, Taylor Otwell said

@stop 只是 L3 中的 @endsection。@show 只是 @yieldSection

【讨论】:

【参考方案3】:

@endsection 在 Laravel 3 中使用,在 Laravel 4 中已弃用

在 Laravel 4 中要结束一个部分,你必须使用 @stop

您可以在此处参考更新日志 http://wiki.laravel.io/Changelog_%28Laravel_4%29#Blade_Templating

【讨论】:

但仍然可用(即使在 5 版本中) 我认为它不再被弃用了,他们甚至在当前版本的文档中将其用作示例。没有注意到@stop 关键字laravel.com/docs/5.1/blade @endsection 在 Laravel 5.2 中不再“弃用”,所以这个答案应该更新。 链接失效了。 它没有被弃用。如果您查看 Laravel 的官方文档,即使在 6.0 版本中,他们仍然为刀片引入了@endsection。

以上是关于Laravel Blade:@endsection 与 @stop的主要内容,如果未能解决你的问题,请参考以下文章

laravel5.1框架基础之Blade模板继承简单使用方法分析

Laravel 4 Blade 模板文档

Laravel 4 Blade @include 变量

Laravel 中的 Blade 模板与普通 php

laravel模板名字是否必须带blade

Laravel 默认错误页面在服务器中有所不同 [minimal.blade vsillustrated.blade]