Laravelでは、セクションを使用するさまざまな方法があります。
@yield('section1') // Filled in by child view
@section('section2')
// Default content, can be overwritten by child
// Different ways of closing the section
@endsection|stop|show|append
これらすべての正確な違いは何ですか?
this 、@ stopおよび@endsectionへのコード化は同じになる可能性があります。 (1つは廃止されましたが、もう廃止されていません)
_@endsection
_と_@stop
_は同じであり、セクションの終わりを示します。
@yield('sectionname')
を実行するまで、セクションは実際にはページにレンダリングされません
対照的に、_@show
_は
_@stop
@yield('sectionname')
_
つまり、ページのその部分で停止し、すぐにセクションをレンダリングします。
_@append
_は基本的に次のものと同等です:
_//FileA.blade.php
@section('sectionname')
... content
@stop
//FileB.blade.php
@extends('fileA')
@section('sectionname')
@parent
... more content after content
@stop
_
ここにいくつかの関連する ソースコード: があります
_protected function compileStop() {
return '<?php $__env->stopSection(); ?>';
}
protected function compileEndsection() {
return '<?php $__env->stopSection(); ?>'; //Same code
}
protected function compileShow() {
return '<?php echo $__env->yieldSection(); ?>';
}
_
Yieldセクションは、現在のセクションを停止し、そのコンテンツを生成します。