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

データベースの内容を表示する

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
データベースのデータを取り出してビューに受け渡すのも、FuelPHPでは簡単に行えます。ここでは、Model_Crudを継承した形で、簡単に作ってみましょう。
講師:
11:14

字幕

ここではデータベースの内容を表示するとしましてデータベースに格納されているデータを画面に表示するというスクリプトをFuelpPHP を使って制作してみたいと思います。ではまずデータベースを準備していきましょう。MAMP のスタートボタン「スタートページを開く」をクリックして頂いてこちらの phpMyAdmin にアクセスをして頂きます。そしてまずデータベースを新規作成していきましょう。FuelPHP としまして照合順序としてはutf8_general_ci を選びます。作成ボタンをクリックし、このデータベースにテーブルを1つ作っていきましょう。ここでは、items としてカラムを3つ作ります。id というプライマリーキーとitem_name という名前を格納するフィールドそして price として値段を格納するフィールドを作ります。id と price はそれぞれ int という型にしてid には PRIMARY のインデックスとオートインクリメントを設定し保存します。そして、こちらの item_name には500 と設定し保存をしましょう。これでテーブルが出来上がりましたのでこのテーブルにデータを挿入していきます。 ここでは、 item_name として「バナナ」を 120 円そして、「いちご」こちらを 150 円として実行します。更に挿入を続けていきまして例えば「りんご」を 80「みかん」を 50 としましょう。これで items というテーブルにはこの様に4つのデータが入ってきました。では、この4つのデータをHTML に表示するという処理を作っていきたいと思います。ではまずは fuelphp をインストールしていきましょう。MAMP のアップロードフォルダーMAMP フォルダーの ptdocs にfuelphp をインストールしこちらの名前を lesson03_02という名前にします。まずはデータベースと接続をするため fuelappconfig db.php 設定する内容としてはこの様になります。type が mysqlhostname としてはこちらの web ページの方からコピーすることができるこちらの値を使っていきます。そして、データベースとして今作った fuelphp を設定しusername はrootそして password も MAMP の場合は root です。ZAMP の場合はpassword はなしになります。 persistent を false にしてtable_prefix はなしcharset、utf8 でunable_cache と profiling はそれぞれ false にします。これで db.php を保存しますとデータベースと接続することができますので続いてコントローラーを作っていきましょう。コントローラーは新しいファイルを作って php のレイアウトをなしドキュメントタイプはなんでも結構です。ファイルの内容を削除しここでは controller_shopというコントローラーにしたいと思います。extends は controller です。public function としましてaction を定義します。ここでは index というアクションにしましょう。動作を確認するために一度ここには print Hello として正しく action が定義できているかどうかを確認します。lesson03_02 fuel appclasses controller の中に今回は shop という名前でつけましたのでshop.php という名前になります。では MAMP の環境設定からDocument root を 03_02今作っているこちらのフォルダーですね。 これの public に設定してOK をします。再起動が済みましたらWeb ブラウザ―からlocalhost:8888/ にアクセスをします。更にここでは /shopというURL にアクセスをすればHello と表示されて、コントローラーが正しく動いていることが確認できます。では続いてモデルの作成です。モデルも新しいファイルを作って内容はすべて削除しましょう。そして、ここではModel_Item としてextends は \Model_Crud です。そして、ここにはprotected_static $_table_name としてitems を設定しprotected_static $_primary_key としてid を設定します。これでモデルは完成です。モデルは先ほどコントローラーを保存したフォルダーの隣にあるmodel フォルダーの方にこちらを入れていきます。名前として model_ の後に付けた名前であるitem.php を付けていきます。それではコントローラーから今作ったモデルを通じてデータベースに格納されている情報を取り出してみましょう。print Hello は一度取り外して頂いてここでは data = array とします。 そして data の rowsこれは行という意味のrow の複数形です。rows という所に Model_Itemそして : : と打ってfind_all とします。find_all とはすべてのデータを持ってきてくださいという意味のメソッドになります。これで items というテーブルからすべてのデータが取り出されデータの rows という所に格納されます。では、この data の rows というのをview に渡して表示してみましょう。まず view のファイルを作成します。view は新規のファイルを作りphp をレイアウトをなしにしたらHTML5 にして作成します。ではここに「商品一覧」といったようなタイトルを付けてここで、実際にその内容を表示してみましょう。foreach の rows とします。as $row としてここでは ul でマークアップをしてみましょう。そのため、この中はli になります。そして、print でrow の item_name更にrow の priceとなり、li を閉じます。これで view が完成しました。view は今度は1つ上の、こちら views というフォルダーの中に格納します。 ここでは、まず先にshop というフォルダーを作りこの中に index.php という名前で保存をします。では、この view をコントローラーから制御して表示するようにしましょう。ここでは return としてView :: forgeshop/index になります。そして data を渡します。では、これで動きを確認してみましょう。Web ブラウザーで/shop/ にアクセスをするとこの様に「バナナ」120「いちご」150「りんご」80、「みかん」50という形で正しくデータが表示されていることが確認できます。ではスクリプトの内容を詳しく見ていきます。まず controller_shop とaction_index を定義しました。そしてその中でdata とう配列を定義し中に rows という連想配列を作ってModel_item の find_allをしています。Model_item というのは先程作った item.php というモデルのことでこのモデルは table_name のitems という所と接続をされています。そのため、Model_Item のfind_all とすることでこちらのデータベースの中に入っているfuelphp の itemsこちらのデータがすべて取り出されるという訳です。 そして、取り出したデータはView を使って、それを表示します。shop/index となっているのはViews フォルダーの中のshop フォルダーの中のindex.php というのをView として使って下さいという命令です。それに対して data という変数を渡して下さいと書いてありますのでこれによって index.php の方ではその渡された変数の中のこの連想配列である rows というのが変数として使えるようになります。ここでは、その rows という変数を foreach を使って$row に展開しています。そして、11行目print で row の item_nameこれはつまり、テーブルの中のitem_name というフィールドのデータを取り出すという意味になっています。同じく row の price といのもこちらの price というフィールドの内容を表示して下さいという命令になっています。これを foreach ということですべてのデータに対して行うことでこちらがリストアップされるような形で表示されているというわけです。この様にデータベースのデータを取り出すというのもモデルの Model_crud というのを継承したモデルを使えば非常に簡単に行うことができます。 こちらの find_all というメソッドをうまく使うとデータベースのデータを一気に取り出すことができますのでこういったスクリプトを作るときは是非活用して下さい。

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

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

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

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

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

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