*

恋に落ちるブログを作ってみる

公開日: : FuelPHP

a0002_007781_m.jpg
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


 
 

関連記事

絞り実験!NOKTON 17.5&25mm, Pana 20&12-35mm, Olympus 45mm

一気に揃ったNOKTON17.5mmと25mmのテスト。人生は短いからガンガン欲しいものは買わないと

記事を読む

やっと来た!Panasonic LX100をPilotfly H1+に載せるのだ(愛)

さんざん引っ張った機種選び。周辺機器に遅れていた本体がやっと到着しました。と言っても悩んで注文が遅れ

記事を読む

ついに購入!SimpleBGC 32-bit セカンドIMU拡張キット

すっかり梅雨も開けたようで、日差しの痛い季節になりました。連休明けだけど外は紫外線がイッパイなので家

記事を読む

VARAVON (バラボン)PULLEY BELT-1500を試す

VARAVON スライダーSLIDECAMシリーズをモーター駆動することができるMOTORROIDに

記事を読む

no image

CakePHP 再々挑戦 obAuth続編

obAuth 認証でつまづいた件をメモしておく。 TOYOSYSTEMさんの記事の通り進め無事認証可

記事を読む

ご質問は掲示板へお願いいたします。

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKにジンバルを入れる

やっぱり高いけどEndurance (エンデュランス) カメラバッグの

エレコム GRAPH GEAR NEO カメラバッグDGB-P01BKが北の国から

一年中GWの美少女です。 Lowepro カメラリュック フリッ

MOZA Mini-S スマホ用スタビライザーが届いた!

1万円弱で買えるスマホ用ブラシレスジンバルの新型 MOZA Mini-

GoPro Hero7 Black用 保護ケース アルミ合金保護フレームがいいよって話

別に大した話ではありません。 最近書くことが少ないのでたまには書

期待の新製品 MOZA Mini-S スマホ用スタビライザーが発売されたみたい

教えてもらった新製品のホームページで MOZA Mini-Sが紹介され

→もっと見る




  •  

PAGE TOP ↑