• Как работает @yield в Laravel?

    @D3lphi
    Вы создаете шаблон (Назовем его, first.blade.php), вставляете в него @yield():
    <div class="example">
        @yield('content')
    </div>


    Затем вы наследуете от этого шаблона другой шаблон (second.blade.php) и прописываете в него конструкцию @section() с тем же именем, что указали у yield:
    @extends('first')
    
    @section('content')
        Hello, World!
    @endsection


    Теперь вы рендерите второй шаблон:
    class Controller
    {
        public function indexAction()
        {
            return view('second');
        }
    }


    Рендерится вот такая страница:
    <div class="example">
        Hello, World!
    </div>


    Таким образом, получается, что @yield() служит своеобразным маркером, на место которого будет подставлено содержимое @section() дочернего шаблона.
    Ответ написан
    3 комментария