WEB/システム/IT技術ブログ

PHPフレームワーク「CakePHP」入門

今回はCakePHPをインストールします。

PHPのフレームワークが本格的に取り上げられるようになってきて間もないですが、近年では、安定したフレームワークが出てきているようで、PHP開発者として一つは習得しなければいけないと考えました。前回までにZend Frameworkの記事をいくつか書きましたが、Zend Frameworkについて調べていると、やたら「CakePHP」というキーワードが目に映ります。

Zend Frameworkの概要はつかめてきたのですが、本格的な開発に入る前に、CakePHPも学んでみて、どちらが私にとって有用かを比較してみたいと思いました。

CakePHPはRuby on Railsの概念に沿って作り上げられた経緯があり、その導入コストはかなり低いものになっているようです。また、PHP4でもPHP5でも動作し環境依存が小さいので、どのレンタルサーバにも比較的インストールし易いといった特徴があります。その容易さとは反面、機能は多彩で、初心者から上級者まで安定して使用できるフレームワークのようです。

CakePHPをインストール

環境の必要条件ですが、ApacheとPHPが動作し、Apacheのmod_rewriteが有効であればどのサーバでも動作するようです。ちなみに今回インストールを試した環境は以下のとおりです。

OS Windows7
Apache 2.2.12
PHP 5.3.0
CakePHP 1.3.6

以下の公式サイトより、最新のCakePHPソースをダウンロードします。
CakePHP: 高速開発 php フレームワーク。
ダウンロードしたファイルを解凍し、そのままサーバにアップします。サーバにアクセスすると以下のような画面が表示されれば完了です。基本的にインストールはこれだけです。

黄色い部分のアラートは必要に応じて調整します。上記2件はパスワードなどを暗号化する際に使われるハッシュ文字列です。下のアラートはデータベースの設定が存在しないことを警告しています。

ハッシュ値の設定

ハッシュ値についてはそのままでも動作はしますが、デフォルトのままだとセキュリティ的に問題があるという警告が表示され、変更するように勧められます。この値は途中で変更すると、パスワードなどが通らなくなるようなので、変更するのであれば初めに行いましょう。また、変更したものは無くさないようにバックアップを取っておくことも重要です。
「app/config/core.php」の200行目付近をランダムな文字列、数列に書き換えます。

/**
 * A random string used in security hashing methods.
 */
	Configure::write('Security.salt', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');

/**
 * A random numeric string (digits only) used to encrypt/decrypt strings.
 */
	Configure::write('Security.cipherSeed', '76859309657453542496749683645');

DBの設定

CakePHPではモデル機能により、特にDBの種類や設計の意識はせずとも、自動的にCreate、Insert、Delete、Updateを実行してくれるようです。実際にまだ使っていないので、よく分かりませんが。詳細については後ほど記事にでもします。
とりあえず、現時点ではDBの設定だけしておきます。
「app/config/database.php.default」を「app/config/database.php」にリネームし、75行目あたりのデータベース設定を自身の環境に応じて設定します。

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' => '',
	);
}

prefixには添え字を設定します。DBサーバによってはDBを一つしか作れないところがあります。その場合、同じDBにテーブルを作成するしかないのですが、そのテーブル名にprefixを付け、テーブル名で管理できるように考慮されています。

これら設定を終えれば、再度ブラウザよりアクセスしてみると黄色いアラートは消えているはずです。
これで一通りCakePHPのインストールは完了です。

B!

Comment

コメントはありません

コメントする

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives