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

2021年9月13日

はじめに

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

viewの使い方は大きく2種類あるかなと思います。

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

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

使うケース


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

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

一律コントローラーを使うような設定もできますが
コントローラーを使わない場合特にシステムダウンにつながりやすい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