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

DBオブジェクトでSQLを実行する

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
FuelPHPを利用していても、SQLを直接利用することはできます。ここでは、DBオブジェクトを利用したSQLの発行方法を紹介しましょう。
講師:
07:44

字幕

ここでは DB オブジェクトでSQL を使うとして、FuelPHP を使って、生の SQL を直接利用する方法というのをご紹介していきます。FuelPHP を使った場合、基本的にはSQL を生で操作するという必要性はありません。ですが、非常に特殊な SQL を実行したいという場合などにまれに必要になってきますので、その方法を紹介したいと思います。ではまず、データベースから準備していきましょう。データベースのphpMyAdmin を起動したらまず fuelphp という名前のデータベースを作成します。文字コードとしてはutf8_general_ci を選びましょう。そして items というテーブルを作り、中には id 、 item_name 、 price というそれぞれのフィールドを作成します。id と price は INT 型に設定し、item_name は500 文字の varchar で設定します。id は primary key に設定し、AUTO_INCREMENT も設定しておきましょう。これでデータベースが準備できましたので、この items というテーブルにデータを入れたり、もしくは、検索をしたりと言った処理を行なっていきたいと思います。 では、 fuelphp をセットアップしていきましょう。MAMP のアップロード先フォルダMAMP の htdocs にfuelphp をセットアップします。lesson03-04 としまして、MAMP のドキュメントルートも同じ様に03-04 に設定します。そして、fuel の app のconfig の db.phpこちらにデータベースへの接続を設定していきます。この default と書かれているこの部分にそれぞれの設定を書き込んでいくのですが、ここでは、あらかじめ設定した内容を貼り付けました。type を mysql とし、hostname をこちら、MySQL のソケットのパスにします。そして database を今作った fuelphp にして、username は rootpassword は root です。XAMPP の場合は無しになります。persistent は falsetable_prefix も無しで、 charset は utf8enable_cache も profiling もこの様に false に設定していきます。これでデータベースと接続できましたので、今度はコントローラーを作っていきましょう。 新しいファイルを作って、「ページタイプ」は PHP「レイアウト」は「<なし」にして、「ドキュメントタイプ」は適当で結構です。内容を全て削除して、ここに class として、Controller今回は Sample という名前のコントローラーにしましょう。extends は Controller です。次に public function として、アクションを定義していきます。ここでは index というアクションを定義しましょう。まずは、正しくコントローラーが作れているかを確認するために、print("hello") などとして、このような、非常にシンプルなコントローラーを作ります。保存先としては、lesson03-04 の fuelapp の classes のcontroller の中に今作った名前と同じ名前で保存をします。では、こちらでまずはアクセスを確認してみましょう。localhost:8888/ の後、sample/ として、hello と表示されていることを確認します。では、ここで SQL を実際に実行してみます。まず、データベースにデータを入れるインサートを試してみましょう。 DB オブジェクトを直接使うためにはここに DB:: と書きます。そして query と書いて、この中に SQL を書き込んでいきます。例えば、ここではINSERT INTO items SET item_name にまずは、「いちご」と入れます。そして price に 80 と入れましょう。続けて、このような矢印- 記号を書きまして、execute を書きます。これによって、SQL が実行されます。ここでは、このようにちょっとしたメッセージを表示して、正しく動いていることを確認して、実際に動かしてみましょう。ブラウザに切り替えて、このページを再度、読み込ませます。すると、このように簡単にメッセージが表示されるので、phpMyAdmin の items からデータが実際に入っているかを確認します。すると、このように、「いちご」 price が 80 というかたちで入っていることが確認できます。別のデータで確認してみましょう。「りんご」を 120 としまして、改めて、このページを表示します。すると、phpMyAdmin の方にはこのように、「りんご」が入っていることが確認できます。INSERT や UPDATEDELETE といったような SQL はこちらでそのまま利用することができますが、例えば、今度は SELECT の SQL を実行してみましょう。 SELECT の場合、例えば、SELECT * FROM items としましょう。そして、こちら、戻り値としまして、この部分に rows とします。これで、この SELECT * FROM items の実行結果は rows という中に入りますので、ここで foreach として、rows を row で受け取ります。後は print で、ここにrow['item_name] とrow['price] というかたちで、表示をさせてみましょう。おそらく、日本語が化けてしまいますけれども、ここでは処理の動きを確認するためだけにビューを使わずにコントローラーだけで処理をしてみたいと思います。では、こちらで改めて実行してみましょう。このように実行してみますと、文字化けしていますが、おそらくデータが表示されていることが確認できます。文字コードを変更して確認してみましょう。「テキストエンコーディング」を(UTF-8) にすれば、このように「いちご」が 80 で、「りんご」が 120 であることが確認できています。この様なかたち。データを1つ追加してみましょう。例えば、ここでは、「バナナ」として、これを 60 円とします。 「実行」して、データが入っていることを確認したらこちらの画面を再読み込みします。すると、「バナナ」も追加されているため、この SQL が正しく動いていることが分かります。このように fuelphp を使っていても、SQL を生で使うことというのはできます。ただし、基本的にはあまり SQL を生で使わないようにすることがこのフレームワークfuelphp などを使ったプログラムとしては適している形になりますので、最後の手段として、この SQL を直接使うという方法を覚えておくと良いでしょう。

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

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

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

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

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

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