PHPフレームワーク「Laravel」PHPテンプレートを利用する

Laravelには、「Blade(ブレード)」というLaravel独自の高機能なテンプレートエンジンの利用、通常のPHPファイルをテンプレートとして利用の2種類のテンプレート機能が備わっています。

今回は、PHPファイルをテンプレートとして利用する方法を紹介します。

PHPテンプレートを作成する

では、テンプレートとして利用するPHPファイルを作成します。
PHPテンプレートの作成場所は「resources」→「views」内に任意のディレクトリを作成(今回はhelloとしました)します。作成したディレクトリ内に「index.php」を作成します。

PHPファイルの作成ができたら、テンプレートとして利用するためにHTMLを記述します。
今回は以下のような内容のHRMLを記述しました。

ルート設定でPHPテンプレートを利用する

PHPテンプレートができたら、ルート設定を行い、PHPテンプレートの表示を行います。

ルートの設定は以下のようになります。
view( ‘ディレクトリ名 . ファイル名’ )

これで、http://〇〇/hello/ にアクセスするとPHPテンプレートの内容が表示されます。

コントローラでPHPテンプレートを利用する

ルート設定でのPHPテンプレートは上記の通りです。

次は、コントローラを利用しPHPテンプレートを表示してみます。

PHPフレームワーク「Laravel」MVCとコントローラを利用する」で作成した「TestController.php」に以下の内容を記述します。

次に、web。phpにルート情報を記述します。

これで、http://〇〇/hello/ にアクセスするとコントローラを利用したPHPテンプレートの内容が表示されます。

値をPHPテンプレートに渡す

テンプレートの利用でも値の受け渡しが可能です。

まずは、テンプレートに値の挿入先をPHPで記述します。

$msg1$msg2が受け取った値の表示先となります。

送信する値の設定はコントローラに行います。
値の設定は配列で行い、view()メソッドの第二引数に渡します。

下記の場合は配列を格納する$dataを用意し$msg1$msg2にそれぞれ値を代入しています。
配列の$dataはviewメソッドの第二引数に指定します。

全ての設定が完了したらhttp://〇〇/hello/にアクセスします。
$msg1、$msg2に代入した値が表示されていることがわかります。

$data[ $msg1 => ” ] で配列に格納した情報は$msg1として受け取れる
$data[ $msg2 => ” ]で配列に格納した情報は$msg2 として受け取れる

クエリー文字列の受け渡し

コントローラを利用しクエリー文字列を渡すこともできます。

クエリー文字列とは?

URLの末尾にある「?〇〇=■■&▲▲=××」がクエリー文字列です。
PHPでWebアプリケーションの開発などを行う際は必ず利用すると思います。

クエリー文字列の受け渡しを行うにはコントローラのindexメソッドの引数に「 Request $request 」を追加し、$data配列に、$request(クエリー文字列を受け取る)を追加します。

PHPテンプレートには受け取ったクエリー文字列を表示する設定を行います。

これで設定は完了です。今回はルート情報の設定はそのままで変更の必要はありません。

http://〇〇/hello?str=もじれつ でアクセスするとstrに設定したクエリー文字列が表示されていることがわかります。

created by Rinker
PHPフレームワークのロングセラー定番解説書が、新バージョン対応で改訂! 本書は、Laravelのインストールから、フレームワークの中心になるModel-View-Controller(MVC)の使い方、開発に役立つ各種機能をわかりやすく解説した入門書です。
created by Rinker
PHPフレームワーク
『PHPフレームワークLaravel入門』(青本)を読み終わった方にお勧め!「もっと知りたかったこと」を本書で詳細に解説!PHPでWebアプリケーションを開発するフレームワークには種々ありますが、圧倒的人気ナンバーワンはLaravel!本書は、2017年9月刊行の大好評『PHPフレームワークLaravel入門』を補足する続編。読者の「これも知りたかった!」という声に応えました!

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)