WebプログラミングV

 目次へ 前へ 次へ

2014/1/7 久米

VCakePHP

2.API

基本時にはAPIドキュメントに記述されているが、そうでないものもあるので注意。

2.1各オブジェクトの主なメソッド(関数)

クラス メソッド 意味 コード例 備考
C AppController set(変数名,値); Viewに変数をセット $this->set('yohins',$yohins);  
redirect(array()) リダイレクト $this->redirect(array('action'=>'index'));  
       
M AppModel find('all'); DBから全読み込み $this->NekoYohin->find('all');//Cにて  
findById(値); DBからidで検索 $this->NekoYohin->findById(3);//Cにて マジックメソッド
findAllBy<列名>(値); DBから列の値で検索 $this->NekoYohin->findAllByKind('食べ物');//Cにて マジックメソッド
save(array); DBに書き込み $this->NekoYohin->save($this->request->data);//Cにて  
delete(id) DBの1行削除 $this->NekoYohin->delete($this->request->
data('NekoYohin.id'));//Cにて
 

query(sql文, array())

DBにSQL文発行 $sql = " SELECT * FROM neko_yohins as NekoYohin
WHERE kind=? AND price < ? AND price >= ?";
$yohins = $this->query($sql,array('食べ物', 1000, 500));
sql文は
FROM テーブル名 as モデル名
とする
       
V View
(Cookbook 2.x解説)
fetch(ブロック名) htmlが書かれたブロック
を読み込む
echo $this->fetch('content'); 'content'は特別なブロック
app>View>テーブル>アクション.ctp
が読み込まれる
       
CakeRequest is(型) 型があるかどうか if ($this->request->is('post')) { }//Cにて  
data(名前) 指定した名前の値を取得 $this->NekoYohin->delete($this->request->
data('NekoYohin.id'));//Cにて
 
       
FormHelper
(Cookbook 2.x解説)
create(モデル名) form開始タグ生成 echo $this->Form->create('NekoYohin');//Vにて モデル名省略時は現モデルを使用
input(フィールド名) inputタグ生成
echo $this->Form->input('name');//Vにて フィールド名は列名と関連
end(サブミット名) submitボタンと
form終了タグ生成
echo $this->Form->end('Submit');//Vにて サブミット名が ボタン名となる。
       
HtmlHelper
(Cookbook 2.x解説)
charset() キャラクタセットタグ生成 echo $this->Html->charset();//Vにて  
meta(タグタイプ) メタタグ生成 echo $this->Html->meta('icon');//Vにて  
css(cssファイル名) cssタグ生成 echo $this->Html->css('neko22');//Vにて /app/webroot/css
ディレクトリ以下にある
cssファイル
link(リンク名, url) リンクタグ生成 echo $this->Html->link('24', 'http://www.shogidojo.com/');
//Vにて
 
       
SessionHelper
(Cookbook 2.x解説)
View用

sessionはいつも
自動的にstartしている
flash() SessionComponent:
:setFlash
のメッセージを
1回限り表示
echo $this->Session->flash();//Vにて

 

       
SessionComponent
(Cookbook 2.x解説)
Controller用

sessionはいつも
自動的にstartしている
setFlash() 一回限りの通知メッセージ
設定
$this->Session->setFlash('メッセージ');//Cにて
write(名前, 値) セッション変数を保存 $this->Session->write('Person.eyeColor', 'Green');//Cにて  
read(名前) セッション変数を読み取り $green = $this->Session->read('Person.eyeColor');//Cにて  
check(名前) セッション変数のあるなし
チェック
if($this->Session->check('Person.eyeColor')){}//Cにて  
delete(名前) セッション変数削除 $this->Session->delete('Person');//Cにて  
destroy() 全セッションクリアし
新規start
$this->Session->destroy();//Cにて  
       

2.2各オブジェクトの主なプロパティ(変数)

クラス プロパティ 意味 コード例 備考
C AppController モデル名 モデルへの参照 $this->NekoYohin->find('all'); Cookbook 2.x解説
request CakeRequestへの参照 if ($this->request->is('post'))  
layout どのレイアウトを使うか設定 $this->layout = "MyLayout";  
helpers Helperオブジェクト使用を追加設定。
Html、Form、Sessionはデフォルトで有効
public $helpers = array('Js');  
uses 使用するモデルを設定。
デフォルトではメインモデルが設定されている。
public $uses = array('NekoYohin', 'NekoChan');  
Session SessionComponentへの参照 $this->Session マジックプロパティ
scaffold この変数をfalse以外に設定するとscaffolding発動 public $scaffold;  
       
M AppModel validate 保存前にデータバリデーションの
判定を行うルール
public $validate = array(
'msg'=>array(
'rule'=>'notEmpty',
'message'=>'本文を入力してください。'
)
);
Cookbook 2.x解説
ルール
actsAs モデルの挙動設定   Cookbook 2.x解説
       
V View Form FormHelperへの参照 $this->Form マジックプロパティ
Html HtmlHelperへの参照 $this->Html マジックプロパティ
Session SessionHelperへの参照 $this->Session マジックプロパティ
title_for_layout タイトルタグの文字列 echo $title_for_layout; Cookbook 2.x解説
       
CakeRequest data POSTデータ。array型
data[NekoYohin][id]=2
data[NekoYohin][name]='猫の草'など
$this->request->data//Cにて