bugfix> php > 投稿

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

これらのすべての正確な違いは誰に教えてもらえますか?

にコーディングこの、@ stopおよび@endsectionは同じである場合があります。 (1つは廃止されましたが、もう廃止されました)

回答 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(); ?>';
    }
    
    

    生成セクションは、現在のセクションを停止し、そのコンテンツを生成します。

あなたの答え