[Laravel8] View(blade)の使い方 その1コントローラーを経由しない場合

2021年9月13日

はじめに

LaravelにはView(ユーザーに見えるところ)を作成するにあたりbladeというテンプレートエンジンが採用されていてHTMLとPHP両方利用可能です。Laravelを使っているなら基本的にはこのbladeを使いView側を作っていくことになります。

viewの使い方は大きく2種類あります。

  1. コントローラー経由しない方法
  2. コントローラーを経由する方法

今回はコントローラーを経由しない方法、直接viewファイルを見る方法をご説明します。

コントローラーを経由する場合についてはこちらをご覧ください!

使うケース

コントローラーを経由しない場合ってどういうときに使うのでしょうか?

システムから生成される動的な値を持ちいる必要がない場合
例えばキャンペーンのLP、エラーページなどの静的ページを表示するときに使います
(何らかの事情でシステムで生成される動的な値を用いる場合にはコントローラを経由する方法で設定しましょう。)

コントローラーを経由する場合、もしコントローラーにDBへの処理が読み込まれていたりすると、
たくさんアクセスがきている時にDBダウンによりユーザーがサイトにアクセスできなくなる場合があります。

・キャンペーンLPページなど一時的にアクセスが増えやすいページ
・エラーページや、DBダウン時等にユーザーに事情を説明するようなお知らせページ

はコントローラーを用いない作りにしていると良いかなと思います。

システムリリース後のシステム高負荷への対応って、
結構不要な処理を消す対応が多いのです。

リリース後だとこれ消していいのかな?って不安に思いながら消すことが多いので・・、
初期開発時にコントローラー不要なものは、
コントローラを経由しない作りにしておくと後々安心かなと思います!

設定方法

まずはルーティングの設定をします。
※ルーティング http://localhost:8000/hogehoge/に来たアクセスはシステム内のどのファイルを読み込むか
設定し終わったら設定の際に指定したファイルに処理を書き込んで行きます。

フレームワークを使うときはこのルーティングをルールをよく理解することが大事になってきます。
難しくはないですが、少し慣れるまで時間はかかりますね・・。

↓ここから具体的な設定方法です
既存PJを使う人はスキップ
#Laravel PJの作成
#(作成前にLaravel installerのバージョンアップもしておく)

#composer global require laravel/installer
#laravel new view-sample //view-sampleはPJ名、他の名前がいい人は適宜変更してください。

PJフォルダーに移動

cd ~/view-sample
routes/web.phpに追記(ブラウザからのアクセスでどのファイルを読み込むかを設定してあげる)

既存にあるのは放置して追記

今回設定するのは
http://localhost:8000/viewtestに来たアクセスは
viewtest(viewtest.blade.php)というファイルを読ませるようにする

xxxx.blade.php このファイル名はLaravelがviewファイルを読むときはxxxx.blade.phpと名前がついたファイル名を読み込みますと決めている。
xxxxの部分がここでいう¥viewtest。 
この場合viewtest.blade.phpを読み込みますという意味になる。
こういうのは各フレームワークで定めていて初見食いつきにくいがすぐに脳内変換できるようになるでしょう。

この部分をroutes/web.phpに追記↓

Route::get('/viewtest’, function () {

    return view('viewtest’);

});



これでルーティングの設定は完了。

次はviewファイルの作成

resources/views/viewtest.blade.php 新規ファイル作成

とりあえずわかりやすくこんなhtmlでも書いておきましょう

今作った resources/views/viewtest.blade.php に追記


<h1>viewtestのファイルにきたよ</h1>


これでviewファイル作成完了


ここまでできたらlaravelサーバーを立ち上げる。(すでに立ち上がっている人は不要)

php artisan serve

Starting Laravel development server: http://127.0.0.1:8000

[Sun Sep 12 15:51:47 2021] Failed to listen on 127.0.0.1:8000 (reason: Address already in use)

Starting Laravel development server: http://127.0.0.1:8001

[Sun Sep 12 15:51:47 2021] Failed to listen on 127.0.0.1:8001 (reason: Address already in use)

Starting Laravel development server: http://127.0.0.1:8002


すでに2つ立ち上げているので3つ目のポートhttp://127.0.0.1:8002
で立ち上がりました。

大抵の人はhttp://127.0.0.1:8000 だと思います。

さて準備できたので↓にアクセス!!

http://127.0.0.1:8000/viewtest

先ほど打ち込んだHTMLが表示されましたね。

案外簡単。この簡単さがフレームワークの良いところです。

次の記事ではコントローラーを使った場合の設定をご紹介します。


Posted by karaagelovers