自分用のメモ。
本家のマニュアル:The Cookbook :: 1.2 Collection :: マニュアル
URLでパラメータを受取る
AppControllerの記述例
<?php
class AppController extends Controller {
public $components = array('foo');
}
AppControllerは、CAKE_HOME/app/app_controller.php に置く。
DBを使わない場合の設定
方法1. Controllerに「public $uses = null;」を書く (参考:CakePHP データベースを使わないアプリケーション | Shin x blog)
方法2. Modelに「public $useTable = false;」を書く (参考:CakePHP Modelに関する6つの誤解 | Shin x blog)
全ModelでDBを使わないなら、Super Class(Super Model?)のAppModelで「public $useTable = false;」すればOK。 (参考:CakePHP データベースを使わないアプリケーション | Shin x blog)
- (2008/11/25追記)こちらも参考に:CakePHP without database access. Webservices only - CakePHP | Google グループ
Controllerでのset()を一度で済ます
ControllerからViewにデータを渡す方法
Controllerでは「$this->set('foo', 'value');」する。すると、Viewでは「echo $foo;」で"value"が出力される。
参考:The Cookbook :: 1.2 Collection :: マニュアル :: CakePHPによる開発 :: コントローラー :: コントローラのメソッド :: ビューとの連携 :: set
set()したデータは、Controller->data['foo'] に入っている
Pagesコントローラについて
レイアウト用のファイル
レイアウト用のファイルは、CAKE_HOME/app/views/layoutsディレクトリに置く (参考:The Cookbook :: 1.2 Collection :: マニュアル :: CakePHPによる開発 :: ビュー :: レイアウト)
デフォルトで使うレイアウトのファイル名は「default.ctp」
レイアウトファイルが無い場合、CAKE_HOME/cake/libs/views/layouts/default.ctpが使われる
レイアウトについての説明:The Cookbook :: 1.2 Collection :: マニュアル :: CakePHPによる開発 :: ビュー :: レイアウト
エレメント
Viewの共通部品はエレメントという
エレメントはCAKE_HOME/app/views/elementsディレクトリに、拡張子「.ctp」を付けて配置する
エレメント名を指定して出力すればOK。拡張子は付けなくてよい
echo $this->element('foo');
参考:The Cookbook :: 1.2 Collection :: マニュアル :: CakePHPによる開発 :: ビュー :: エレメント
FormHelperの使い方
FormHelperはCakePHP 1.2から登場した
参考:The Cookbook :: 1.2 Collection :: The Manual :: Core Helpers :: Form
特定のページでしか使わないCSSやJavaScript
layoutでこれらを出力する場所に「echo $scripts_for_layout;」する。
HTML部分を書いた後でもCSS等を指定できるのは便利。
CSSとJavaScriptを別の場所に出力はできなそう。
//link to webroot/css/foo.css
$this->addScript($html->css('foo'));
//include webroot/js/bar.js
$this->addScript($javascript->link('bar'));
//write Code Block of JavaScript
$this->addScript($javascript->codeBlock("alert('Hello! CakePHP.');"));
翻訳(GetTextの使い方)
0 件のコメント:
コメントを投稿