Макет сайта как компонент
Макет сайта в Laravel сам является компонентом. Давайте посмотрим на его код:
resources/views/components/layout.blade.php<!DOCTYPE html>
<html>
<head>
<title>{{ $title }}</title>
</head>
<body>
{{ $slot }}
</body>
</html>
Как вы видите, контент сайта является основным слотом, а тайтл - дополнительным. Именно так мы и задаем их в представлениях:
resources/views/post/show.blade.php<x-layout>
<x-slot:title>
page title
</x-slot>
page content
</x-layout>
Технически это означает, что мы можем передавать в макет и другие дополнительные слоты, а также для разных представлений использовать различные макеты сайта.