ぬぬん!

やってみたこと,思ったこと

【這いよれLaravelさん】ビュー(1)

順番すっ飛ばしているけど最近学びが合ったので上げ

今回は、ビューです!

ビューとは

HTMLを書くところで、置くところは resource/views/配下
Laravelだとbladeテンプレートが使われている

書き方とかはbladeテンプレートでやるとして

ここではviewヘルパーとviewcComposerについて書いておく

viewヘルパー

めちゃつかう、ばかみたいに使う

http://localhost:8080/hoge/huga/にアクセスがあった時は resource/view/hoge/huge.blade.phpを表示しするようにしたいとする

実装

時に動的に書きだすものもない場合 そのままroute.phpに書いてしまえということで下記な感じ

<?php
Route::get('/hoge/huga', function() {
    return view('hoge.huga');
});

ヘルパーの中に書くブレードの名前は
resorce/view/配下ディレクトリ構造を.で繋いだものを書いてあげる

実装:ビューに値を渡したい時

動的に書きだすものがないことはめったにないので いろいろ処理して得られた値を表示に出したい時は 下記のように書く

<?php
Route::get('/hoge/atai', function() {
    return view('hoge.atai', ['name' => 'value']);
});

または

<?php
Route::get('/hoge/atai', function() {
    return view('hoge.atai')->with('name', 'value');
});

とかける

blade側では

<?php echo $name; ?>

で値を出力出来る

実装:ビューの存在確認

指定したビューが存在するかどうかも見ることが出来る
(使いドコロがよくわからないけど)

<?php
if (view()->exists('emails.customer')) {
    //
}

helperにexists関数が生えていて これで確認ができるそうな

実装:全ビューで同じ値を共有する