code igniterについて
TRANSCRIPT
本題に入る前に前提知識 CodeI gni ter| --- system | --- appl i cati on | --- control l ers | --- vi ews | --- model s | --- などなど (自作ヘルパーや自作ライブラリ )
ほとんどこの 3つをいじっていきます
Form(2/5)
<?=open_form(‘コントローラ名 /メソッド名’ )?>
<i nput type=“text” name=“test” val ue=“<?=set_val ue(‘test’);?>” />
<i nput type=“submi t” val ue=“Go” />
<?=cl ose_form?>
クライアント側の記述 (View)
Form(3/5)
Vi ewの
<?=open_form(‘コントローラ名 /メソッド名’ )?>
で指定されたメソッド内で、
$thi s->i nput->post(‘test’);
と書く事で取得できます。
サーバ側の記述 (Controller)
Form(4/5)■ フォームバリデーション
1. ライブラリロード$thi s->l oad->l i brary(‘form_val i dati on’);
2. ルールの設定$thi s->form_val i dati on->set_rul es(‘test’, ‘ ’てすと ,
‘requi red’);
3. バリデーションを走らせる !$thi s->form_val i dati on->run();
必須チェック
Form(5/5)エラーになった場合。。。→先ほどのVi ewに
<?=val i dat i on_errors()?><?=open_form(‘コントローラ名 /メソッド名’ )?><i nput type=“text” name=“test” val ue=“<?
=set_val ue(‘test’);?>” /><i nput type=“submi t” val ue=“Go” /><?=cl ose_form?>
と書いておく事でメッセージを表示させることができます !
URL(1/4)http: //domai n/i ndex.php/コントローラ /メソッド
mod_rewri teで「 i ndex.php」をなくす事も可能。→今のところ、最低限の設定でCodeI gni terの使い方、 楽しみ方を体験することを優先させているため、 i ndex.phpありの設定で運用中です。
URL(2/4)■ 例Formで
<?=form_open(‘shop/add/’)?>
としたときのURLは、
http: //domai n/i ndex.php/shop/add/
のようになります
メソッド
コントローラ
URL(3/4)■ i tem_i dも一緒にサーバへ送りたい場合
<?=form_open(‘shop/add/’ . $row->i tem_i d)?>
としておくと、
http: //domai n/i ndex.php/shop/add/i tem_i d
というURLになります。
URL(4/4)■ URI クラス※ →システム側で自動初期化 いきなり使える
http: //domai n/i ndex.php/shop/add/i tem_i d
の i tem_i dを取得したい場合、
$i tem_i d = $thi s->uri ->segment(3, 0);
と書きます。
1 2 3
取得できなかった場合の値
Database(1/2)■ 選択肢は複数あります
• PHP の素の接続• CodeI gni terのActi veRecordを
使わない書き方• Acti veRecord • O/Rマッパー (Propel など )
今回は、3.Acti veRecordを採用してみました
実行
速度
Database(2/2)■ Ac t i veRecordクラス//SELECT * FROM t_shop_i tem ORDER BY i tem_i dに相当$thi s->db->order_by(‘i tem_i d’);$thi s->db->get(‘t_shop_i tem’);
結果は、$query = $thi s->db->get(‘t_shop_i tem’);
$query->resul t();
とすると、結果がオブジェクトの配列で返ってきます
現状■ 基本的な部分はできてます!
1.インストール完了 2.デフォルトページの表示 3.ページのカスタマイズ 4.複数ページの表示 5.データベースへのアクセス 6.データベースの操作( SELECT、 INSERT、 UPDATE) 7.フォームの出力
管理画面、注文確認画面などに着手しています。イベントがいつ発生するか楽しみです^^
共有ドキュメント• 開発中に培ったノウハウは「CodeI gni terの使い方」というタイトルで、
Googl eグループ内にまとめてあります。URLは以下http: //groups.googl e.co. j p/group/ �php-begi nner/web/codei gni ter-2
CodeI gni terを使ってみて
■ 動かすまでの設定が他フレームワークに比べて圧倒的に簡単 !
■ やりたいことに集中できるという印象。→面倒なところ (バリデーション、フォームの扱い等 )はフレームワーク側にクラスやヘルパーが用意されている。
まとめ• 今回はForm、URL、Databaseについて 簡単に紹介しました。
– Form• フォームヘルパ• フォームバリデーションクラス
– URL• CodeI gni terのURL• URI クラス
– Database• Acti veRecord