2017年10月 / 09月≪ 12345678910111213141516171819202122232425262728293031≫11月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2010.11.25 (Thu)

cakephpメモ

cakephp1.3を扱うことになったのでメモ。

■コンポーネントとヘルパーとビヘイビアの違い
・コンポーネント
主にコントローラーで使う。値の読み書きなんかを行えるオブジェクトなもの。
・ヘルパー
主にビューで使う。読み出し専用?テンプレート的な感じ。
・ビヘイビア
主にモデルで使う。データベースから読み出す前とかあととかに自動で特定の処理を行いたい時に使う。

■ビューに渡された$thisの中身を見る
<?php pr($this); ?>


■ビューで一部を外部ファイルから読み込む
ヘッダやフッタやお決まりな部分をinclude的な感じで読み込みたい場合。
/views/elements/以下に.ctpファイルを作って、
header.ctp、footer.ctpなら
<?php echo $this->element('header'); ?>
<?=$this->element('footer')?>

て感じで呼び出せる。
/views/elements/common/header.ctp
とかだったら
<?php echo $this->element('/common/header'); ?>


■コントロール内で動的にモデルを宣言する
$this->loadModel('User');
$this->User->find('all');


■POSTでデータ渡されたか判断
Formヘルパーでフォームを作成した場合$this->dataに値が入るらしい。
if(!empty($this->data)){
  echo 'POSTで渡された';
} else {
  echo 'POSTで渡されてない';
}

Formヘルパーじゃなく、独自の構成でフォームを作成して渡した場合は上記の方法が使えない。
PHP的には$_SERVER['REQUEST_METHOD']で判断できる。
CakePHP内にその判断処理は行って無いかなーと思って探したらあった。
RequestHandlerComponent::isPost()
戻り値がbool。
if(RequestHandlerComponent::isPost()){
  echo 'POSTで渡された';
} else {
  echo 'POSTで渡されてない';
}

で使えるけどちょっと長い。
var $components = array('RequestHandler');
function send(){
if($this->RequestHandler->isPost()) echo 'post';
}

ってのもできる。こっちのほうが正しい使い方か。


 |  12:17  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

Comment

コメントを投稿する

URL
コメント
パス  編集・削除するのに必要
非公開  管理者だけにコメントを表示
 

Trackback

この記事のトラックバックURL

この記事へのトラックバック

 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。