LoginSignup
0
0

More than 3 years have passed since last update.

【Laravel5.5】ビューの作成

Last updated at Posted at 2019-09-27

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の独自変数表示方法である {{ 変数 }} を用いる。

するとブラウザ側では
スクリーンショット 2019-09-28 4.57.49.png
と表示される。

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'));
    }
}

とすれば良い。

今回も勉強になった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0