laravel7?? から、laravel, viewsの作り方が変わりました。
それまでは、@extends(”)・@section(”) などで、viewsを構築していたと思います。
基本的な考え方は、そこまで変化はありません。
より簡単に、使い回せるところは使いまわし、変数を上手く組み込む。といったところです。
どのように動いているのかが、理解出来ないと取っ付きづらいと思います。
今回は、どのような仕組みで動くのを最低限理解頂けたらと思います。
① viewsの配下で、blade作成するファイル
基本形は下記です。
ここがlaravelのプロジェクトの中で何を呼び出しているのかというと
<x-app-layout> → views/layout/app.blade.php を呼び出しています。
@extends('layouts.app') と同じような動きです。
では、<x-slot>は、どのように動くのでしょうか。
<x-slot></x-slot>範囲内に、反映したいhtmlデータを書きます。(もちろん、phpでも)
②views/layout/app.blade.php
では、<x-slot></x-slot>のデータは、どのように反映されるのでしょうか。
それが、views/layout/app.blade.phpの中で呼び出しております。
{{ $slot }}
という呼び出しで、<x-slot></x-slot>のデータを呼び出します。
なので、ベースとなるHTMLデータは、views/layout/app.blade.phpで
baldeファイルで変更したい部分は、{{ $slot }} で分けて反映させていく。といった仕組みです。
これも、以前の@section(”)と似たような考え方かと思います。
今回は、最初の一歩で取っつきにくい部分を解説しました。
様々な活用方法があるので、また解説していきたいと思います。