恋に落ちるブログを作ってみる
公開日:
:
FuelPHP
FuelPHPをインストールしたら、お約束の簡易ブログを書いてみる。
最初にデータベースの設定。今回は一般的なヤツで。普通にMySQLで。
CREATE TABLE `posts` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(255) NOT NULL, `summary` varchar(255) NOT NULL, `body` text, `created_at` int(11) NOT NULL, `updated_at` int(11) NOT NULL, PRIMARRY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
created_atとupdated_atは登録日と更新日だな。たぶんどこかで自動的に書き込まれるようにするんじゃないだろうかと妄想。単なるお約束なのかもしれないけど。
次はdb.phpを編集してDBを読めるようにする。db.phpというファイルはいろいろな場所にあるので注意。
/fuel/app/config/development/db.php
return array( 'default' => array( 'connection' => array( 'dsn' => 'mysql:host=mysql***.phy.lolipop.jp;dbname=LA017*******-***', 'username' => 'LA017*******', 'password' => '*************', ), ), );
Modelの作成
FuelPHPではSQLを使うのに4種類の方法があるようだ。一番シンプルな方法がDBクラスを使いSQL文をそのまま書いてしまう方法。
DB::query(‘SELECT * FROM users WHERE id = 5’);
色々なフレームワークでも同じだけど、これはお勧めできない。あまり考えられないがDBを変更する時に面倒な作業になることがひとつ。それとデータのエスケープを自分で行う手間もある。詳細はPHPセキュリティで勉強してね。
2番めはクエリビルダを使う方法。これを使うと上記の問題点がほぼ解決できる。つまりDBの違いをFuelPHP側で吸収してくれて、データのエスケープも自動処理って訳だ。
DB::select(‘title’,’content’)->from(‘articles’)->execute()->get(‘title’);
そしてCRUDというやつ。Create retrieve? update deleteの頭文字らしい。これはよく使うSQL文を、より簡単に書くことができたり、データの検証があったりすると…。ってことは上のクエリビルダだと検証できないの?と疑問がわくけど。このあたりを中心に開発ってのが王道なのかな?
$entry = Model_Article::find_all();
そしてOrmってやつ。ここまでくると理解が怪しくなってくるのだが、どうやらリレーション関係を扱うようになっている仕組みらしい。 has_manyみたいな。CakePHPあたりで悩んだ思い出が蘇る^^;
最後にちょっと特殊な viewModelってのをモデルついでに書いておく。
これはviewに複雑なロジックを書きたくない場合に使えるようだ。例えばDBで県名を数値IDで持たせている場合。そのままだと表示が数字になる。これを県名に変換したいという場合などに使えるらしい。
viewやcontrollerと絡んでくる部分なので、後ほどまとめてみることにして先に進む。
続くよー
Sponsored Link
関連記事
-
SONYの新製品が気になるから動画を貼っておく
ソニーがレンズキットで799ユーロの低価格フルサイズミラーレスを出すという噂がでているようです。だい
-
freetel priori2 に480円 sim を入れて1ヶ月ほど使ってみた感想(追記:4ヶ月後の不具合)
2015年1月末頃購入してみたfreetel フリーテル SIMフリー スマートフォン priori
-
ペンション・民宿・プチホテル用 宿泊予約 WordPress プラグインを作る(9)空室管理画面を考える
前回までで基本的なプラグインの制作方法を簡単に学びました。今回からは空室管理の画面を作ってみます。柔
-
Color Grading Central Color Finale 買ってみた!
それにしてもα6300ですが、どうも絵が甘い。4K30pでGH4に負けてるような...撮影が下手?
-
やっと来た Godox Professionl Video Light White Bulbs (5600K) LED500W
少々 rig関係で煮詰まっているので気分転換に LEDライトの続きを。 過去記事「到着したのは
ご質問は掲示板へお願いいたします。