DocumentRoot以下に解凍して、書き込み権限を与えるのみ。xamppであればそのままインストール後の設定に進むべし
chown -R apache:apache cake/
インストールディレクトリの.htaccessにrewriteの設定がされている。 利用できたほうが何かと便利なのでインストールディレクトリに以下の設定を入れておく。
<Directory "/var/www/html/CAKE_INSTALL_DIR"> AllowOverride FileInfo </Directory>
app/config/core.php
app/config/database.php.defaultのファイル名変更→database.php
'encoding' => 'utf8'
全部共通の文字コードはapp/config/core.php
Configure::write('App.encoding', 'euc-jp');
個別には$html->charset('utf-8')で設定できそうだけど、どこで設定するのかな?
modelにデータベースを指定する。何も書かないと当然デフォルトのDBを使う。
テーブル名 | コントローラーファイル名 | モデル名 |
cards | cards_controller.php | Card |
credit_cards | credit_cards_controller.php | CreditCard |
AuthComponentがある
http://blog.ne2ma2.com/archives/160
app/libにおいておくと以下のようにインポートできる。
echo get_include_path();
初期状態ではcakeのROOTとappのディレクトリとPHPのinclude_pathのディレクトリが表示されるはず。
ページのタイトル | $pageTitle変数を設定 |
POSTの取得 | $params['form'] |
GETの取得 | $params['url']['hoge'] |
セッションkeyの存在チェック | $this->Session->check('key') |
毎回DB構造を解析しているのは無駄なので、debugモードの時は15秒、それ以外は999日テーブル構造をキャッシュしている。列変更の時は削除を忘れずに!
新規作成時はフィールド名を持つ連想配列を用意して、saveメソッドを呼ぶ。
$data = array("name" => "test"); $this->Model->create(); $this->Model->save($data);
リレーションが不要な場合はパフォーマンスのため以下のコードでリレーションを取得しないようにできる。
$this->Model->recursive = 0;
CAKE_HOME/app/tmp/logs
各functionの中で以下のように記述
$this->autoRender = false;
contorollerの中で以下のように記述
$this->layout = '';
$uses = null
var $useTable = false;
CREATE TABLE users( id int unsigned auto_increment primary key, nickname varchar(30) NOT NULL, created datetime default NULL, modified datetime default NULL );
CREATE TABLE profiles( id int unsigned auto_increment primary key, user_id int unsigned unique, blog_url varchar(256), hobby varchar(256), created datetime default NULL, modified datetime default NULL );
チュートリアルはMySQLしか乗っておらず、日本ではPostgresがまだまだ使われているので記述しておく。
CREATE SEQUENCE car_id_seq; drop table cars; CREATE TABLE cars ( id INTEGER DEFAULT nextval('cars_id_seq') PRIMARY KEY, car_id VARCHAR(50), comment TEXT, created TIMESTAMP DEFAULT NULL, modified TIMESTAMP DEFAULT NULL );