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

フォームの受け取り2

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
ここでは、前のレッスンで作ったフォームを受信して、確認画面を表示する手順を紹介します。テンプレートを使って、ビューの管理をやりやすくする手順なども紹介していきます。
講師:
08:40

字幕

ここではフォームの受け取りの二つ目として前のレッスンで作成したフォームを送信した時に実際にその値を受け取るようなスクリプトを記述してみたいと思います。このレッスンは前のレッスンからの続きとなりますのでまだフォームを作成していない場合には前のレッスンから続けてみてください。では今度はこちらのフォームを送信するボタンをクリックした先の画面を作っていきたいと思います。このフォームはそのジャンプ先として、こちらcontact の check というアクションにジャンプさせるように作っています。今はまだアクションが準備されていませんのでsubmit ボタンをクリックするとこのようなエラー画面にジャンプしてしまいます。ではまずはそのアクションから作っていきましょう。編集するファイルとしてはプロジェクトの lesson05_03 になります。「fuel 」 「app」 「classes」「contact.php」になります。こちらに public function action_checkというメソッドを作ることで、check の画面、確認画面を作ることができるのですけどもここではビューのファイルを増やす前に先にテンプレートを作っておきたいと思います。 テンプレートを作ることで共通の部分を一つのファイルで管理できるようになります。まずはそのテンプレートの作成からやっていきましょう。今 views の contact というフォルダには、こちらの indexs.php というファイルがあります。この中には HTML の各基本的要素が書かれてしまっていますのでこれをテンプレートに仕上げていきたいと思います。新しいファイルを作り、php のレイアウトはなしドキュメントタイプは何でも結構ですのでこちらのファイルの内容をすべて削除します。そしてタイトルの部分にはprint として タイトルを出力するようにします。こちも同じくタイトルです。そしてこちら、content の中にprint を content として全体をビューの各パーツファイルに任せるようにしましょう。これでテンプレートが完成です。テンプレートはファイル名が決まっていてlesson05_03 の 「fuel」 「app」 「views」 、こちらの中の「template.php」必ず保存する必要があります。ではこちらで保存しましょう。そして今作っていたこちらの index.phpというビューは、基本的な部分が不要になりますのでcontent と、それからdiv が閉じた後の、残りの HTML はすべて削除していきます。 ではテンプレートを利用するようにするにはどうしたらよいかといいますと。まず コントローラーのファイルを編集していきます。extends で controller というのが継承されていますけれどもこれを Controller_Template というファイルを継承するように変更します。そしてthis の template の title に「お問合せ」と設定します。これにより先ほど template の中に書いたこの $title というのがセットされます。さらに $ の template のcontent に対してはview の forge で contact のindex を指定します。これにより content の内容が、今作ったこちらの index.php の内容で置き換わります。これで画面を確認してみましょう。それでは MAMP の「環境設定」Document Root が lesson05_03 のpublic になっていることを確認して、こちらの画面を再読み込みします。内容は変化していませんが、正しく画面が表示されていればこれでテンプレートが有効になっています。テンプレートを有効にするとこれ以降画面を作るのが非常に楽になります。例えばここではcheck.php を作ってみましょう。 check のビューを作るときにはページタイプを php 、レイアウトをなしにしてドキュメントタイプは適当で構いません。この時このファイルに作るのはtemplate.php のcontent の中だけになりますので非常に楽になります。ここでは「テーブル」を構成したいと思いますのでこちらに index.php をそのままコピーしてきましょう。そしてテーブルの中をそれぞれ確認画面のためにこのように書き換えていきます。そしてここでは、この後コントローラーを作っていきますけどもその時に myname という変数でこの入力された名前を確認できるようにコントローラーを作りこんでいきましょう。続いてメールアドレスです。こちらについても、同じようにemail という変数で受信できるようにしていきます。最後にこちらに性別、こちらも削除して、gender という形で受信できるように作りこんでいきましょう。ではこの view ファイルですけども保存する場所としてはlesson05_03 の 「fuel」 「app」 のこちらの views の中に contactというフォルダがあるのでここに check.php で保存します。 そして contact.php の方からはこちらの this の template のtitle はお問い合わせの確認としてそして this の template のcontent にはview の forge で、contact の check を指定します。そしてこの check に対してこの後 data を作って受け渡していくことになるのですがまず data という変数を空の配列として宣言しました。そして data に myname を作っていきます。ここでは前の画面からフォームで渡されているのですがフォームはメソッドが post になっていますので、ここでは input の post というのでその値を受け取ることができます。myname とします。同じように email はinput の post で emailそして gender も input でpost の genderという形で受け取ることができます。そしたら view の forge に第二パラメータですね。$data という形で指定するとこれで data が受け渡されます。では実際に動きを確認してみましょう。先ほど入力画面が出ていましたが、ここに名前と、それから メールアドレスを指定します。 そして性別をいずれかチェックして送信するボタンをクリックすると次の画面では「お問合せ確認」とタイトルがなっていて名前とメールアドレス、そして性別が受信できています。このようにテンプレートを使ってあげるとcheck.php と index.php というようにビューが分かれているとき、共通のパーツを template.php に書くことができるので非常に楽ができます。またフォームを受け取るときにはinput というオブジェクトのpost method にそのフォームの項目を付け加えてあげれば値をとることができますので、こちらの方法も是非覚えておきましょう。

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

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

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

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

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

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