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

ビューへの値の受け渡し

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
コントローラーとビューを組み合わせる場合には、値をビューに受け渡す必要があります。ここでは、値の受け渡しを細かく解説していきましょう。
講師:
06:47

字幕

ここではコントローラーの基本的な機能の一つとしてビューへの値の受け渡しについて細かく解説していきたいと思います。コントローラーはビューと常に連携しながら作業することが多くなります。ビューへ値を渡して、その値をビューが画面に表示するという仕組みです。ではまず簡単なコントローラーを作ってみましょう。まず 「MAMP」のアップロードフォルダーMAMP の htdocs にfuelphp を セットアップしていきます。今回はフォルダーの名前を「lesson04-01」としまして、MAMP の Document Root もそれに合わせます。そして新しいファイルを作成し、ページタイプを「php・レイアウトなし」ドキュメントタイプはなんでも結構です。ここに「class Controller_Sample」というクラスを作ります。「extends Contoroller」とし「public function」として「action_index」というのを定義します。これでコントローラーは完成です。ではファイルを「lesson04-01」 「fuel」 「app」 「classes」 「Contoroller」の中に今作ったクラス名である「sample.php」という名前で保存します。 では続いてビューを作成していきましょう。ビューは php でレイアウトは同じく「なし」としてこちらの HTML に配布されているテンプレートの「index.html」の内容をこのようにコピーしていきます。そして public フォルダの中にこちらの「images」と「style.css」をコピーしましょう。そしてここにタイトルをつけます。ではこちらのcontent のところに、例えばなどとし、ここに名前を表示できるようにします。ではこのファイルを「app」の「views」の中に保存していきましょう。ここではフォルダを一つ作りsample フォルダの中に「index.php」という名前で保存します。ではこのビューに値を受け渡すにはどうしたらよいでしょうか。ここでは「data」という配列を作り、data の name に対して自分の名前を記入します。そして return として「View::forge( ’sample/index」に対してデータを渡します。これでコントローラーとビューが連携したスクリプトが完成しました。ではウェブブラウザで動きを確認してみましょう。「localhost:8888/」に続けて「sample/」と打ち込むとこのように「あなたの名前はたにぐちですね」と表示されます。 ビューへの値の受け渡しで一番基本となるのはこのような変数を一つ準備しその変数を連想配列として値をセットしていきます。そして「View::forge」というメソッドの第二パラメータに今作った変数を指定していきます。変数の名前はもちろんなんでも良くて「x」などでも正しく動作します。ですがここでは慣例的に「data」という変数がよく使われます。なおビューの方で、このように値を使おうとしているにも関わらずコントローラーの方でその値を準備しなかった場合どのような結果になるかといいますと、このように fail.php がエラーを出します。Notice Undefined variable nameということでname という値がビューに渡ってきていないというエラーになってしまいます。そのためビューの方で準備しているこちらの変数などがある場合は基本的にはコントローラーの方では必ずその値を準備しなければなりません。もしコントローラーの方で今回は準備がない、という場合でもこのように空白などでも構いませんのでセットする必要があります。または、もしどうしてもコントローラーの方で値が準備されていなかった場合には例えばビューの方でこのように「 if(isset($name)) 」というファンクションを使いname がセットされている場合にだけこちらのメッセージを表示するというようなスクリプトに仕上げることもできます。 この場合、名前がセットされていないと画面には何も表示されなくなります。どこまでをビューが管理してどこまでをコントローラーが管理するのか、というのは判断が難しいところですがその時々に応じて適切な方法でセットしてください。またコントローラーからビューに値を渡す方法にはもう一つ方法があります。まず「$view」などとして「View::forge」を先にやってしまいます。「 sample/index 」を割り当ててこの view に対して「set」というメソッドがあるのでここで name として値をセットします。そしてすべての値がセットし終わったら「return $view;」とすればこれは同じようにビューに値を受け渡すことができます。どちらの方法を使っても構いませんがそのプロジェクトでこちらの方法を使うのを決めたら、あとはその方法に統一してスクリプトを組んでいったほうが後々のメンテナンスもしやすくなるのではないか、と思います。

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

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

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

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

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

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