@include i @yield są dwa zupełnie różne typy operacji importowania kod do bieżącego pliku.
@include - importuje zawartość oddzielnego pliku do bieżącego pliku w miejscu, w którym został umieszczony. czyli: plik
Układ:
< some html or other script >
@include('include.file_name') // "include." indicates the subdirectory that the file is in
< more html or other script >
include file (plik ostrze z bloku kodu):
< some cool code here >
Zawartość 'nazwa_pliku' (również ostrza plik) jest następnie importowany tam, gdzie znajduje się dyrektywa @include.
@yield importuje kod z "sekcji" w pliku podrzędnym (plik ostrza "widok").:
plik Układ:
< some html or other script >
@yield('needed_section_name')
< more html or other script >
Poniższa sekcja jest potrzebna w „Widok” pliku ostrza, który jest ustawiony na „przedłużyć” ten plik układu.
„Widok” Plik ostrza:
@extends('layout.file_name')
... code as neeeded
@section('needed_section_name')
< some cool code here >
@stop
...
more code as needed
Teraz plik układ będzie importować w sekcji kodu, który pasuje do nazewnictwa używanego.
Więcej na ten temat here ....
Twoja odpowiedź nie naprawdę aswer pytaniem. Właśnie powiedziałeś, że zarówno '@ yield' i' @ include' wstrzykuje HTML do pliku nadrzędnego. Dokumentacja Laravel jest również bardzo słaba. Nie jest ukierunkowany na osobę, która jest nowa w laravel. Główną różnicą między '@ yield' i' @ include' jest: '@ include' definiuje ** widok ** do wstrzyknięcia rodzicowi. '@ yield' określa ** sekcję **, która ma zostać wstrzyknięta. 'yield 'działa tylko wtedy, gdy twój widok' @ rozszerza' widok rodzica. – user1651105