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

Model_Crudクラスを利用する1

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

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
モデルの中で、データベースを最も手軽に扱えるのが「Model_Crud」クラスです。ここでは、その使い方を紹介します。
講師:
10:37

字幕

ここではModel Crud クラスの利用ということでモデルの中でも最も簡単にデータベースを利用できるModel Crud というクラスをご紹介したいと思います。Crud とは今画面に表示されていますがCreate Read Update Deleteそれぞれ、制作や一覧、変更、削除といったようなデータの一連の動作の流れを表したものです。所謂、そのデータの管理の機能のことをCRUD 機能等と呼ぶのですがここでいうModel Crud というのはそのようにデータベースのデータを作ったり、一覧したり変更したり、削除したりといったことが簡単に行なえる機能のことを指しています。では、早速実際に使って見ましょう。まず、プロジェクトを準備します。今回は lesson04-07 というフォルダにFuelPHP をセットアップしました。そしてこの中に、Fuel app classis の中のcontoroller の中にまず、shop.php という名前でshop のコントローラーを作っています。中には action_index ということで1つだけアクションが定義されていて、これのアクションは shop の index というview ファイルを呼び出しています。 では、その view ファイルはどこにあるかといいますとviews の shop の中に index.php がありこの中には普通の html が記載されています。そしてもう1つ、こちらFuel app config db.php にはこのようにデータベースに接続するための設定が書かれています。今回、mysql を利用し、hostname やデータベースの名前、そしてusername は root パスワードも rootZAMP の場合はここは無しになります。その他、各設定は一般的な設定に沿って行なわれています。続いて、FuelPHP というデータベースを指定していますが、このデータベースはこちらの MAMP のスタートページからPHP admin を起動し作成したデータベースです。こちらのデータベースタブから、データベースを作成する fuelphp という名前で照合順序を「UTF8_general_CI」というものに設定しています。更に FuelPHP の中にはテーブルを1つ作りました。items というテーブルでこちら構造として、id、item_name、price という3つのフィールドがあります。 id と price はそれぞれ int 型としitem_name は500文字のvar_char 型としています。そして id は autoincrement と ptimary key を設定しました。そして、このテーブルには予めデータが入っていてイチゴが80円、りんごが120円、バナナが60円といった形でデータが格納されています。ここまでの準備を行なって、いよいよ Model _CRUD の使い方を紹介していきます。では、まずはモデルのファイルを準備しましょう。DreamWeaver で新しいファイルを作成します。ページタイプはPHPレイアウトは無しでドキュメントタイプは適当な物で結構です。作成し、ファイルの内容をすべて消したらここにクラスを作っていきます。今回は Model_item としましてextends でここに model_crud と記述します。これが model_crud クラスを継承して作るクラスということでこの model_item というのはcrud の機能を備えたモデルとなります。そしてこの model_crud とクラスを継承する場合必ず指定しなければならないプロパティ所謂、変数があります。 protected statics としまして$_$name としてここに、今、作ったテーブル名を指定します。この場合、items というテーブル名なのでitems と指定します。そしてもう1つが $_primary key です。ここでは、このテーブルのprimary key として設定したフィールドのフィルド名を指定します。ここでは、id になります。この2つを指定することでmodel_CRUD クラスはこのテーブルを操作できるようになります。では、このファイルを保存していきましょう。今回は、lesson04-07 fuel app classis model に今付けたモデルの名前であるitem という名前でモデルを保存します。では、まずコントローラーのファイルcontololler_shop と書かれたこちらの shop.php を編集していきます。action_index の中で、まずデータの rows としてここにmodel_item::find_all というメソッドを使ってみましょう。ここに何も指定せずに呼び出すとこの find_all はその名のとおりにデータベースからすべてのデータを取り出すという意味を持っています。 そして今ここで作ったデータというのをview に渡してみましょう。第2パラメータに $data とすることで今、検索したこちらのデータ群をview の方に渡しました。では、view でこれを処理していきます。shop の index ファイルの中、今、この状態で内容が何も書かれていないのでここにデータベースの内容を書き込んでいきます。では、ここでは、このように UL でマークアップをしていきましょう。foreeach として、rows を、例えば、r 等という形で展開していきます。そしてここに、$r の item_name print します。さらに print で $r の price もこちらに記述していきましょう。そして、UL を閉じます。では、こちらでファイルを確認してみます。MAMP の DocumentRoot をlesson04−07 に変更し再起動したらweb ブラウザーからこちらのアドレスにアクセスします。localhost:8888/shop となっていますのでこちらにアクセスをすると、このようにイチゴ、りんご、バナナという形でデータを取得することができました。この find_all というメソッドですけれどもいくつかパラメータを取ることができます。 まず、1 つ目のパラメータが limit つまり、何件の情報を取得するかというパラメータここで、例えば、1と取得することでfind_all としても1件目のデータだけが取得できることになります。例えば、大量のデータがあるデータベース一千件、二千件という場合に最初の100件だけを取得したいという場合にはこの limit を指定すると良いでしょう。また2つ目のパラメータに offset というものを、設定することもできます。offset とは、読み飛ばす件数を指定するためのものです。たとえば、今、イチゴが表示されていますがoffset に1と指定することで1件目のデータが読み飛ばされて2件目のりんごからが指定されています。このように offset を指定することで例えば、所謂、ページングの処理2ページ目は 200 件目から 300 件目まで3ページ目は 300 件目から 400 件目までといったような形でページ毎に表示する件数を変えるということも可能です。今度はこちらの find_all というメソッドを変えてみましょう。find_by_pk というメソッドを使ってみます。このメソッドは、pk これは primary key の略称ですがつまり、primary key を元にデータを取得する検索するというような意味のメソッドです。 この場合少し検索した結果の変数が変わってきます。先ほどの find_all の場合複数の件数があったためこちらは複数の件数が一気に入るような変数になりましたが今回の場合by_pk ということで1 件に縛り込まれますのでここでは、1 件だけになります。そのため、名前そのままでも良いのですがここでは、row に名前を変更しましょう。そして、こちらも繰り返しではなくなります。そのためこの繰り返しを無くしてrow の item_name、row の price といったように1件だけ表示されることになります。では、こちらでスクリプトを動かしてみましょう。このようにしますと、りんごが 120 ということで1件表示されています。このりんごというのは今、id が2のりんごというデータが取り出されてということになっています。では、少し変えてみましょう。今度は1にします。すると、このようにイチゴに変わりました。これは、このように1番のデータが取り出されているということになります。このように、find_というメソッドを使うと1 件だけ取り出したり沢山のデータを取りだ出したりということができますので是非いろいろなデータを検索してみましょう。

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

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

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

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

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

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