FuelPHPによるMVCプログラミング入門

テンプレートを利用する

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
同じようなデザインのページが複数ページにわたる場合、テンプレートを利用すると便利です。ここでは、テンプレートの利用方法を紹介しましょう。
講師:
11:13

字幕

ここではテンプレートの利用としましてFuelPHP が備えているテンプレート機能というものの使い方を紹介していきたいと思います。テンプレート機能とは例えば今画面に表示されているようなページ構成の場合に例えばこちらインプットがあってそして check ということでそのお問い合わせの内容を確認する画面、さらには Thanks ということで完了した画面という3画面の構成になっています。これらの画面は内容は少し違っていますが、枠やデザインについてはすべてのページで共通となっています。このようなデザインが共通の部分などを一つのファイルにまとめて効率よく管理するというのがこのテンプレートという機能です。それでは実際に使い方を確認していきましょう。今回まずはこちらの lesson04-05 というフォルダにFuelPHP をセットアップしました。そしてまず control を一つ作ります。app フォルダの classes controller の中にsample.php というファイルを作成しここでは Controller_Sample という名前のcontroller を作成しています。そして中には action が3つ定義されていてaction_index、action_check、action_thanks というそれぞれの action になっています。 そして view からも同じようにindex、check、thanks というそれぞれ対応したファイルを呼び出しています。では その view ファイルはどのようになっているのでしょうか。views フォルダの sample というフォルダの中には3つのファイルがあり、これらはそれぞれお問い合わせの入力画面、それからチェック画面、そしてお礼の画面ということで3つの画面が作られています。今現在この3つのファイルはすべて単独で利用されていて例えばこの辺りの HTML というのはすべてのファイルで共通になっています。そのためもしこのサイトにデザインの変更が発生した場合、すべてのファイルを修正しなければならないので非常に非効率です。では こちらをテンプレートを使って効率良く管理するためにはどうしたら良いかという手順をやっていきたいと思います。では新しいファイルを一つ作成します。ページタイプを php としレイアウトを無しにしてドキュメントタイプは適当で結構ですので新しいファイルを作成してこちらに例えば index.php の内容をまずはコピーして貼り付けましょう。ここからテンプレートを作っていきます。 テンプレートは例えばこのファイルをそのままテンプレートとして使うこともできるんですがそうなると内容を一切変えることができなくなってしまいます。そのため内容を変えたい場所には、変数を埋め込む必要があります。例えば ここではこの content という div の中が各ページによって異なります。そこでこの内容は一度すべて削除し代わりにこのように変数を埋め込みます。変数の名前は特に何かに決まっているわけではないので複数埋め込んだりすることもできます。そしてもう一点 このタイトルタグの中とそれから h1 のタグの中も各ページによって変わりますので、ここでは print を $title として変数を作っておきましょう。このように同じ変数を複数の箇所で使うことももちろんできます。では このファイルを保存しておきたいと思います。テンプレートの保存先は必ず決まっています。こちら FuelPHP の Fuel の app のviews フォルダの直下に置かなければいけません。またファイル名も決まっていてtemplate.php というファイル名で保存しなければテンプレートとしては機能しませんので気を付けてください。 では template.php で保存していきましょう。これでテンプレートが作れました。では 今度はテンプレート以外の場所を作っていきましょう。まず index.php つまりお問い合わせの画面ですけれども今回テンプレートを使いますので共通パーツの部分はこのファイルからは必要なくなりました。そのためここではこちらdiv の id コンテントが始まる直前の部分までを削除します。そして同じく div が終わってからHTML の終了タグの所までも同じく削除します。これが index.php 本体の HTML になります。同じくチェックも content 以前とcontent の div 以降を削除します。Thanks についても同様です。こちらとこちらを削除していきましょう。これでパーツファイルも完成しました。では いよいよ今作ったテンプレートとそれからこちらの view ファイルを組み合わせていきます。この組み合わせには controller を少し変更していく必要があります。classes フォルダの controller フォルダの中のsample.php こちらを編集してください。今この class Contoller_Sample はextends として controller が記載されていますが、テンプレートを使う時にはこの Controller ではなく_Templete というのを記述してController_Template というものをextends 継承して Controller_Sample を作らなければなりません。 こうすることで基本的にテンプレートを読むような動きになりますので後はそれに沿って作り込んでいけばいいことになります。では まず何をするかといいますと、this と書きまして、矢印、ハイフン、小なり記号、そして template と書いてここにタイトルと記述します。そしてここには「お問い合わせ」と記述します。これは何を意味しているかというと、先ほど template.php に書いたこの$title、これをセットしています。これによりこの後 テンプレートが表示される時にタイトル部分が今設定した内容に書き換わります。そして同じく content の内容も書き換えていくわけですが、ここでこの content の内容、つまり div の中身は今作った index.php の内容を表示したいということになります。そのためここではこの view の forge というメソッドをそのままこちらに記述してこのような記述になります。これで Template とそれから今作った独自のこちらの view が組み合わせられることになりました。では実際に表示を確認してみましょう。MAMP の「環境設定」からドキュメントルートを 04 の 05 に切り替えます。 再起動が終わりましたらこれでブラウザから確認してみましょう。localhost8888/sample/ です。アクションとしては index なので省略しても構いません。Enter を押しますとこのように特に見た目は変わっていませんがこれは今 index.php とそれからこちらの template.php が組み合わさって表示されています。そのためお問い合わせというタイトルなどは今は Controller の方でセットしたこちらのお問い合わせというタイトルが表示されています。試しにここを変更してみましょう。再読み込みするとこのように「変更してみます」こちらも「変更してみます」に変わっています。これで テンプレートにこの変数が行き渡っていることが確認できるのではないでしょうか。なお view に変数などを設定して受け渡すことはもちろん可能です。例えばここで value としてprint_myname としましょう。これで myname という変数が渡されたらvalue つまり text area の標準値として表示されるような設定になります。ではここに設定していきます。どうするかというと、data をまずは空の配列として準備しdata の myname の中に標準値を設定します。 こちらのテンプレートの content にセットしている view の2つ目のパラメーターにこのように $data として渡してあげます。ではこちらで表示を確認してみましょう。再度画面を読み込むとこのように「たにぐち」と標準値が設定されています。これで今まで通りこの view ファイルに変数を受け渡してこの view の内容を変更するということもできます。template の内容を書き換える時はこのように this 矢印 template 矢印 変数名という形で書き換えていきます。少しその変数の書き換え方というのが変わってくるので注意が必要ですけれども慣れてくるとそれほど難しくないのではないかと思います。ではこれに沿ってすべてのファイルを書き換えていきましょう。2個目は template の title が「お問い合わせ:確認」となります。そして this の template の content がこちらの view の forge の sample の check となります。最後にこちらは template のtitle の「お問い合わせ:完了」という形で内容については同じようにこのようになります。 ではそれぞれ確認していきましょう。sample がこのようになりチェックがこのようになりThanks がこのようになっています。template を書き換えていますのでこの3つの画面、それぞれで同じようなデザインの変更が発生した場合には一箇所を書き換えればすべてが書き換わるということで非常に管理しやすいようになったのではないかと思います。

FuelPHPによるMVCプログラミング入門

このコースでは、PHPのフレームワークのひとつであるFuelPHPを紹介していきます。フレームワークとはスクリプト開発における「足場」となるもので、近年のスクリプト開発においては非常に一般的な存在となっています。高速な開発スタイルをぜひとも身に付けていきましょう。

6時間19分 (47 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2014年01月12日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。