Laravel逆引きTips – View

Laravel Laravel

Laravel逆引きTIps一覧へ戻る

Bladeテンプレートの基本

<!-- 1. Bladeテンプレートの基本 -->
<h1>Welcome, {{ $name }}</h1>
@if ($isAdmin)
    <p>You are an admin.</p>
@else
    <p>You are a regular user.</p>
@endif
PHP

レイアウトの継承

@extendsディレクティブを使用してレイアウトを継承し、@section@yieldを使用してコンテンツを定義・表示します。

<!-- layouts/app.blade.php -->
<!DOCTYPE html>
<html>
<head>
    <title>@yield('title')</title>
</head>
<body>
    @yield('content')
</body>
</html>

<!-- home.blade.php -->
@extends('layouts.app')

@section('title', 'Home Page')

@section('content')
    <h1>Welcome to our site!</h1>
@endsection
PHP

コンポーネントの使用

再利用可能なUIパーツを@componentディレクティブを使用して実装します。@slotを使用してデータを渡すことができます。

<!-- components/alert.blade.php -->
<div class="alert alert-{{ $type }}">
    {{ $slot }}
</div>

<!-- Using the component -->
@component('components.alert')
    @slot('type', 'danger')
    <strong>Oops!</strong> Something went wrong!
@endcomponent
PHP

ディレクティブの活用

@foreach@forelseなどのディレクティブを使用して、繰り返し処理や条件分岐を簡潔に記述できます。

@foreach ($users as $user)
    <p>This is user {{ $user->id }}</p>
@endforeach

@forelse ($users as $user)
    <li>{{ $user->name }}</li>
@empty
    <p>No users</p>
@endforelse
PHP

データの受け渡し

コントローラーからビューにデータを渡し、ビュー内でそのデータを使用します。

Controller
public function index()
{
    return view('user.index', ['users' => User::all()]);
}
PHP
View
@foreach ($users as $user)
    <p>{{ $user->name }}</p>
@endforeach
PHP

アセットの管理

asset()mix()ヘルパー関数、または@viteディレクティブを使用して、CSSやJavaScriptファイルを適切に読み込みます。

<!-- In blade template -->
<link href="{{ asset('css/app.css') }}" rel="stylesheet">
<script src="{{ mix('js/app.js') }}"></script>

<!-- Using Vite -->
@vite(['resources/css/app.css', 'resources/js/app.js'])
PHP

リダイレクト先に値を渡す

Controller
return redirect('/contact/complete')->with([
        'memberID'=> $memberID
      ]);
PHP
View
{{ session('memberID') }}
PHP

Laravel逆引きTIps一覧へ戻る

コメント

タイトルとURLをコピーしました