*

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

公開日: : 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


 
 

関連記事

気になる情報・新製品発見メモ

日頃ネットをウロウロしていて記事にするほどでもない情報、記事にするほど内容がわからないものなどをメモ

記事を読む

SIGMA Art 19mm F2.8 DN を α6300で軽く超適当な画質テスト(追記)

昨晩は大雪でした。自動車に乗り込めません。50cmは積もった感じ。 今日は日曜日なのでお出かけ

記事を読む

ブラシレスジンバル GUI 2.42b7の最新設定

Panasonicさんお願いです。どうかGH3にもシネマDとVだけでもいいのでください。まだ販売を続

記事を読む

Rosetta付きカーボンチューブ用クランプが欲しいの

一応密かに進行中なのが機内持ち込みできるBrushlessGimbal製作プロジェクト。実は、そんな

記事を読む

FC2ブログからワードプレスへ引越し(記事データ移行)

なんかAdsenseで怒られたので、これを機会に古いブログ記事を移転させてみました。思ったほど簡単だ

記事を読む

59,000円くれる auひかりが機械を送ってきた

なかなか工事日が決まらない auひかり。工事日を決めるために数回電話で相談、結局7月22日に開通する

記事を読む

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

Message

メールアドレスが公開されることはありません。

CAPTCHA


Optionally add an image (JPEG only)

Sponsored Link

気になる情報・新製品発見メモ

日頃ネットをウロウロしていて記事にするほどでもない情報、記事にするほど

YAMAHA MG10UXミキサー到着

2018年 物置(事務所or作業場or遊び部屋)の一角を音声収録&撮影

そしてzbrush coreをインストールしてみる話

Blenderに挫折してから一気に3Dにのめり込んでいます。 ま

録音環境を改善する!吸音パネルをDIYとか

久々に更新! すっかり更新グセが抜けてしまい、イマイチやる気が出

CeVIO Creative StudioがMacのWin10で認証失敗

久しぶりに更新できました。 この時期は寒くて...と言い訳から入

xismoを使ってみて覚えたところと謎なところ(追記あり)

謎と言っても私の理解が足りないだけなんですけどね^^; 一応私の

→もっと見る




  •  

PAGE TOP ↑