【Laravel】viewメソッドの使い方
どーも!

たかぽんです!

今回はviewヘルパについて調べていきます!

viewヘルパとは?

viewヘルパはweb.phpやcontrollerでviewファイルを表示させたい時なんかに使われますね!

メソッドに表示させたいbladeファイルの名前(welcometech.blade.phpなら'welcometech')を渡せばOKです。

例えばこんな感じです。

// web.phpで見かける例
Route::get('/', function () {
    return view('welcometech');
})->name('welcome');

// controllerで見かける例
class TechController extends Controller
{
  public function index ()
  {
      return view('welcometech');
  }
}

上記を簡単に解説しておくと、ルートにて直接viewを使用して、welcometech.blade.phpが表示されるようにしている例と、ルートでコントローラーのメソッドを呼び出し、そのメソッドの中に書いている例です。

viewヘルパの基本的な使い方

viewヘルパは簡単に使えます!

// welcome.blade.phpを表示する
return view('welcome');

上記をみていただければ全てわかるかと思いますが、引数に表示したいbladeファイルの”.blade”より前の名前の文字列を渡せば表示することができます。

注意しなければいけないのが、ここで表示させたいbladeファイルはlaravelのファイル構成のviewsフォルダ(resources/views)に保存しなければいけません。

もしも配置がおかしかったりすると...

"View [welcome] not found."

といったlaravelのエラーになってしまいます。

viewに変数を渡す

さて、次に少し応用でviewに変数を渡す方法をみていきます。

例えばコントローラーで処理をした値をviewで表示させたり、モデルから持ってきたDBの値を羅列したりする場合には変数として渡してあげる必要があります。

こちらもそんなに難しくはなく...

先ほども説明しましたが、第一引数には"遷移先のbladeファイル名"を。

そして第二引数に"渡したい変数についての情報"を渡します。

例えば以下のような感じです。

  public function index ()
  {
	  $tech = 'てくてくテック';

      return view('welcometech', ['techtech' => $tech]);
  }

例えば上記のコードのように書けばwelcometechビューへ、$techtechという変数名で$techを渡すことができます。

第二引数は"['渡す先での変数名' => 今回渡す変数]"ですね。

ちなみにみていただければわかると思いますが、渡す側では、渡す先での変数名の頭に$は必要ありません。

逆に渡される側(viewファイル)では$をつけないと変数と認識されないのでお気をつけください。

なので、この状態でwelcometech.blade.phpに

		{{ $techtech }}

と書くことでその画面で”てくてくテック”と表示されるわけです。

また、複数の値を渡すことももちろん可能です。

$tech = 'てくてくテック';
$technum = 15;

 return view('welcometech', ['techtech' => $tech, 'technum' => $technum]);

こうすればblade側で$techtech$technumが使えるようになります。

数が増えてきたら横長くなりがちなので、インデントを調整するのをオススメしておきます。

return view('welcometech', [
 'techtech' => $tech, 
 'technum'  => $technum,
 ...
]);

引数のbladeファイル名にドットがついてる?

さて、先ほど、viewの第一引数にはbladeのファイル名を渡すとご説明しましたが、たまにその中にも"."(ドット)が入っているものがあります。

view('hoge.huga.welcome');

これは一体なんなんでしょう・・・?

実はこれはフォルダの階層を表しています。

正確にはviewsフォルダからの、表示したいファイル位置を示しています。

例えば、上記'hoge.huga.welcome'の場合、"resource/views/hoge/huga/welcome.blade.php"という状況であればwelcome.blade.phpが表示されるようになります。

この、viewsファイル以下であれば、役割ごとに新しいフォルダを作っても上記のドット記法で参照ができるわけです。

必要ページ数が数ページの場合はないかもしれませんが、中規模以上になってくるとフォルダ分けしないと大変なので、こう行った記法が目立つでしょう。

まとめ

さて、今回はlaravelを使っていく上で重要になってくるviewヘルパについて調べてみました。

viewヘルパはコントローラーのメソッドには必ずと行っていいほど使われるので、しっかり理解して、出るたびに調べる手間を減らしたいですね。

また、今回お話しした内容は以下公式リファレンスを参考にさせていただきました。

皆さんもぜひ熟読してみてください。

それでわ!

おすすめの記事