Laravel Bladeテンプレート

データの表示

  1. 【コントローラ側】 変数をビューに渡す
  2. 【ビュー側】 コントローラから受け取った変数を{{}}で囲む
    変数をビューに渡すには、上記のようにview()ヘルパ関数の第2引数にPHPのcompact()関数を指定する方法が一般的   compact()関数の引数にはビューに渡す変数名を文字列で指定、先頭の$(ドル記号)は不要
    コントローラ側
class HelloController extends Controller {
    public function index() {
        $name = 'へのへのもへじ';

        // 変数$nameをindex.blade.phpファイルに渡す
        return view('index', compact('name'));
    }
}

ビュー側

<!--======== 前略 ========-->

<body>
    <p>こんにちは、{{ $name }}さん!</p>
</body>

</html>

ブラウザ
こんにちはへのへのもへじさん

ディレクティブ

代表的なディレクティブ

Laravelの代表的なディレクティブ 処理の内容
@if () ~ @elseif () ~ @else ~ @endif PHPのif文
@for () ~ @endfor PHPのfor文
@while () ~ @endwhile PHPのwhile文
@foreach () ~ @endforeach PHPのforeach文
@csrf CSRFからの保護

@foreachの例
--Controller.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class HelloController extends Controller {
    public function index() {
        $name = 'へのへのもへじ';
        $languages = ['HTML', 'CSS', 'JavaScript', 'PHP'];
        // 変数$name、$languagesをindex.blade.phpファイルに渡す
        return view('index', compact('name', 'languages'));
    }
}

index.blade.php

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>BladeTemplate</title>
</head>

<body>
    <p>こんにちは、{{ $name }}さん!</p>
    <ul>
        @foreach($languages as $language)
            <li>{{ $language }}</li>
        @endforeach
    </ul>
</body>
</html>

こんにちはへのへのもへじさん