cakePHP1.3再入門#1

しばらくcakePHPから遠ざかっていたらVar1.3安定版が出ていました。

新規に1.3をインストールして、再度初心に帰って再入門します。ということで、いつもの覚書と言うかメモです。

ダウンロード
cakePHP日本語サイトのトップに1.3.0 stableのDOWNLOADがあります。
cakephp-cakephp1x-1.3.0-0-g1c06478.zipと言うファイルを落としてきて解凍チン!!。

テスト環境はxamppを使っているのでxampp/htdocs/以下に今回テスト用のktaiというディレクトリを作って中身をコピー。

とりあえず、このままfirefoxでhttp://localhost/ktai/を打ち込む。
まずエラーページが表示される。
cakePHP初期画面

まずは、お決まりのエラーですが、ちょっと新しいのが出ているのかな。
‘Security.cipherSeed’って無かったような気がする。

背景が黄色の部分がエラーです。
3箇所出ています。
最初の二つについては/app/config/core.phpを編集しないといけません。

「Security.salt」の定数がデフォルトだとみんなに知られていますから変更しろとのこと。

198行目の

Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');

を書き換えます。
DYhG93b0q…の部分を適当に書き換えます。この値はハッシュの作成に使われます。

CookBookの1.3を見ると CIPHER_SEEDがSecurity.cipherSeedに書き換えられたみたい。なんのことやらw
どうも乱数発生時の種みたいですね。これも適当な数字に書き換えましょう。

203行目の

Configure::write('Security.cipherSeed', '76859309657453542496749683645');

これでさっきの画面をリロードしたら、上の二つはグリーンになります。

3番目のメッセージはデータベースに関する設定をしろってことで、config/database.php.default を config/database.phpにリネームして中身をいじくることになります。

class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database_name',
		'prefix' => '',
	);

	var $test = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'test_database_name',
		'prefix' => '',
	);
}

$defaultが普通の設定 $testはテストの時なんかに別のDB使うときの設定って認識でいいと思います。
複数のDBなんか同時に使うことはないと思うけど。

ちなみにモデルの定義の中で

$this->useDbConfig = 'test';

とすると$testの定義を使ってくれるので、色々作っておいてモデルごとに使い分けることも出来るみたい。
Bakeとかでも自動判別するんだろうなあ。

[設定]
driverはMySQLなのでそのまま、persistentは持続的データベース接続ってことらしい。
ここに説明が書いてるけど、よく理解して使わないとちょっと怖そう。デフォルトどおりfalseにしておく。
hostはlocalhostのまま、本番動作時はレンタルサーバーとかの指定によって書き換えよう。
loginはMySQLのログインユーザー名、passwordはそのパスワード、databaseは使用するデータベース名。
prefixは接頭語だけど、いらないので省略。

こんな感じでdatabase.phpを書き換えたらOKかな。

設定とりあえずOK

とりあえず初期設定の一部が済みました。使用するデータベースはphpMyAdminとかで先に作成しておいたほうがいいですね。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です