【Laravel5.5】ビューの作成


Laravel5.5の備忘録として残しておく。
今回はビューの作成について。
※拙い言葉で恐縮です。
※なんか解釈に間違いがあったり、表現が曖昧だったりするかもしれません。
 予めご容赦くださいませ。

controllerとViewファイルについてメモ。

controller名はなんでもいいけど、一旦 ItemController.php としておく。

controllerはartisanコマンドを使って作成する。

php artisan make:controller ItemController

とすれば作成される。
作成される場所は /app/Http/Controllers 配下

作成時は以下の状態なので、ビューファイルに渡すための処理を記述する

ItemController.php
<?php

namespace App\Http\Controllers;

use App\Item;

use Illuminate\Http\Request;

class ItemController extends Controller
{
}

まずはビューファイルのindex.phpに情報を渡すための処理を記述。

ItemController.php
<?php

namespace App\Http\Controllers;

use App\Item;

use Illuminate\Http\Request;

class ItemController extends Controller
{
    public function index() {
        return view('item.index', [
            'var' => 'hogehoge'
        ]);
    }
}

ビューファイルは /View/item/index.php とする。

return view('item.index' ~ は '/item/index.php' の . を除いた部分を記述する。
(素人の語彙力のなさw)

var に文字列である hogehoge を配列で格納する。

ビューファイルは以下のように記述。

index.php
<!DOCTYPE html>
<html lang="ja">
 <head>
  <meta charset="utf-8">
   <title>hogehoge</title>
 </head>
  <body>
   <p> {{ $var }} </p>
  </body>
</html>

$varItemController.php で記述していた 'var' => 'hogehoge' が格納されている。
echo を使わずにController側で記述した内容をビューファイルに渡し表示させる時は、Laravelの独自変数表示方法である {{ 変数 }} を用いる。

するとブラウザ側では

と表示される。

compact関数

今回viewに渡す方法として配列を用いたが、 compact関数 というものを使えば、短く記述することが可能。
記述の仕方としては return view('ファイル', compact('変数')); とすれば良い。
先ほどのファイルに記述するとすれば以下の通りとなる。

ItemController.php
<?php

namespace App\Http\Controllers;

use App\Item;

use Illuminate\Http\Request;

class ItemController extends Controller
{
    public function index() {
        $var = 'hogehoge'
        return view('item.index', compact('var'));
    }
}

とすれば良い。

今回も勉強になった。