PHP

【Laravel】DBの内容をブラウザに表示する方法

2018年6月18日

この記事は、Laravel 入門者向けの ひとこと掲示板シリーズの記事になります。

 

 

前回は、tinker を使い、MySQL のテーブルをコンソール上で操作する方法について書きました。

 

 

 

今回は、DB の内容をブラウザに表示する前の流れについて書きました。

ブラウザに表示ができる所までくると、自分の場合は何かモチベーションがわいてきますね。

バックエンドだけではなく Web フロント側も好きなので、PHP でコードを書くよりも HTML や CSS を tinker してフォントの種類や大きさ、色を変える事も同じくらいかかそれ以上好きです。

PHP を始めたのも、そもそも Web が好きだからというところもあったような気がします。

 

 

という事で、まずはいつものように使っている環境について説明いたします。

 

 

環境

 

 

以下の環境を使っています。

 

  • Cloud 9
  • PHP 7.0
  • Laravel 5.5.40
  • MySQL 5.5

 

 

 

という事で早速始めたいところですが、その前に職人さん ( artisan ) にコントローラーを生成してもらう必要があります。

 

 

コントローラーの生成

 

 

Cloud 9 のコンソールに以下のコマンドを入力して実行します。

 

 

 

コマンド実行後、Controller が生成されています。

 

 

ファイルの中身を見ますと、名前空間が宣言されていて、空のクラスが生成されています。

 

 

 

 

という事で、コントローラーが生成されましたので、今回の本題に進めます。

 

 

処理の流れ

 

 

ブラウザに URL を入力してからコンテンツが表示されるまでには、基本的に Laravel では内部的に以下の流れで処理されていると思います。

 

 

  1. まずはルーティングで処理され、コントローラーのメソッドに処理が渡される
  2. コントローラーでメソッドの処理を行い、変数など処理を View に渡される
  3. 変数や連想配列など、View で受けた処理を行う

 

 

ルーティングの処理

 


routes ディレクトリ下に設置されている、ルートファイルで定義している内容で処理されます。

 

 

例えば、https://.../posts/bbs と入力して表示した場合

web.php にある、以下の内容が処理されます。

 

 

 

 

 

コントローラーの処理

 

 

ルートファイルから処理を受け、コントローラーでメソッドの処理をし、処理内容を View に渡します。

 

またコントローラーでは名前空間やクラスの宣言をしてあげる必要があります。

view に変数を渡す方法としては変数や連想配列などをコントローラで書きます。

 

 

 

 

 

 

ビューの処理

 

 

View にコントローラーから渡された変数を foreach で取り出して、エスケープ処理します。

今までの php ですと foreach は以下のように書いていました。

 

 

 

 

Laravel ではこのように書くことができます。

 

 

 

 

また、htmlspecialchars でエスケープ処理している部分に関しては、波カッコでくくるだけで処理できます。

これは便利ですね。htmlspecialchars や、ユーザー定義関数とか使わなくていいので明示的に波カッコだけでエスケープができるので便利です。

 

 

 

 

 

 

ブラウザで確認する

 

 

では、実際にブラウザに表示されるか確認してみます。

Cloud 9 のコンソールから職人さんにサーバーを立ち上げてもらいます。

また忘れないように、MySQL のサービスを起動しておきます。

 

 

 

ブラウザでアクセスします。テーブルに入っているデータが正しく取得できて表示されています。

 

 

 

 

いかがでしょうか。ここまでくると「フレームワークで Web アプリ作れてきたぞ!」って感じになってきました。

まだまだできていないとはわかっていますが、ワクワクします。(笑)

 

 

では最後までお読みいただきありがとうございました!

 

 

以下の記事をクリックして次に進みましょう!

 

 

 

おすすめの本はこちら ↓↓↓

 

  • この記事を書いた人

そーまん

セキュリティエンジニアやってます。
ブログ歴3年。PVは月15万PV程度。
趣味はボクシング、筋トレ、登山です。
穏やかで人見知りな性格です。

人気記事

1

こんにちは!そーまんです。 今回は、PC に適用されている GPO を確認する方法について書きました。 本題に入る前に、一応参考までにGPOの適用タイミングについての記事をここに貼りましたので、必要に ...

2

こんにちは!そーまんです。 今回は sysprep について、全体的に PC をセットアップする観点から書いてみました。長々と書いてあります。まずは前置きからです。 まずはじめに 組織では PC のラ ...

3

こんにちは!そーまんです。 今回は、グループポリシー (GPO) を使って、特定のコンピューターに対して、ドメインユーザーに ローカル管理者権限 (以下は特権と記載) を付与する方法について書きました ...

4

こんにちは!そーまんです。 今回は、Windows サインイン後に一時ユーザープロファイルが読み込まれてしまった場合の解決方法について書きました。 Windows 10 の検証環境をいじってたらサイン ...

5

こんにちは!そーまんです。 今回は、ユーザープロファイルを削除する方法について書いてみました。 企業の場合よくあることですが、1 台の PC を共有 PC として複数人で使ったり、また余り無いかもしれ ...

6

こんにちは!SE ブログの相馬です。       今回は、繰り返し文について書いてみました。PowerShell では他のプログラミング言語同様、繰り返し処理を行うことが ...

7

コマンドを使って CPU とメモリの使用率をデータで取得してみましたので、例えば PC のトラブルシューティングで問題を再現させる際にデータを取得しておくと、原因の特定に役立つ場合があるかと思います。

8

既存の PC と同じ構成で別のメーカーの PC でマスターイメージを作る際、インストールされているアプリを同一にする為に必要になるかと思います。

9

企業で多くの GPO が適用されている環境では、PC に GPO が適用されなかったりする問題が発生する場合があるかと思います。その中でも、コンピューターの構成またはユーザーの構成のどちらかで、...

10

こんにちは!そーまんです。 今回は、Windows Server 2019 で NTP サーバーと同期する方法について書きました。 NTP サーバーの必要性や時刻同期の重要性を理解することは社内のシス ...

-PHP
-,