お盆休み、生まれたばかりの子供の子守りでアタフタしつつも、
XAMPP環境に CakePHP 2.2.1 をセットアップしてみたので、手順をここに残す。
3月上旬に2.0.6のセットアップ手順を書いたばかりというのに8月現在の最新安定版はなんと2.2.1。
とても活発に開発が進んでいるようだ。
OSは Windows 7 (64bit)、XAMPPは 1.7.4 (Apache 2.2.17 + PHP 5.3.5 + MySQL 5.5.8)を使用。
まず、Pleiades (Eclipse for PHP Developers) でプロジェクトフォルダ「cake2.2.1」を作成。
他のプロジェクトも同時に動かすこともできるよう xampp/htdocs の配下に設置。
予めダウンロードした CakePHP 2.2.1 (cakephp-cakephp-2.2.1-0-gcc44130.zip) を展開。
展開したフォルダの中身をプロジェクトフォルダへコピーし、
Eclipse の PHP エクスプローラー(ナビゲーター類)をリフレッシュ。
フォルダ構成は以下のようになる。
xampp/htdocs/cake2.2.1/app/
xampp/htdocs/cake2.2.1/lib/
xampp/htdocs/cake2.2.1/plugins/
xampp/htdocs/cake2.2.1/vendors/
:
次に app/Config/core.php を開き、
‘Security.salt’ にはテキトーな文字列を、’Security.cipherSeed’ にはテキトーな整数を設定。
デフォルトと同じでなければ何でもいいが、晒したり、推測しやすい値を設定したりしてはダメだ。
前者はハッシュ生成に、後者は暗号化に用いるからだ。
とりあえず動かすだけなので、’Security.cipherSeed’ には現在日時を入れておく。
次に app/Config/database.php.default を database.php にリネームする。
データベースの準備がある場合は、そちらを設定する。
database.phpの設定例 👇
<?php class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Mysql', // データソース (Ver2以降では'driver'は使われない) 'persistent' => false, // 持続的接続(persistent connection)を使うかどうか 'host' => 'localhost', // ホスト 'port' => '', // ポート(デフォルトならブランクでOK) 'login' => 'cakephp', // データベースユーザ 'password' => 'password', // パスワード 'database' => 'cakephp_2_2_db', // データベース 'schema' => '', // PostgreSQLで使用するスキーマ 'prefix' => '', // テーブルの接頭語 'encoding' => 'utf8', // エンコーディング ); }
データベースを使用しない場合は、database.php を編集して DATABASE_CONFIG クラスの中身を空っぽにする。
データベースを使わないなら database.php は これだけでOK 👇
<?php class DATABASE_CONFIG {}
~ ここからEclipse警告対策+α (省略可能) ~
テストを自動化するようなツール類を使用するつもりは一切ないので以下を削除。
- app/Test/
- app/tmp/tests/
- app/webroot/test.php
- lib/Cake/Test/
- lib/Cake/TestSuite/
- lib/Cake/Console/Templates/default/classes/test.ctp
- lib/Cake/Console/Templates/skel/Test/
- lib/Cake/Console/Templates/skel/webroot/test.php
2.0ならこれで警告は消えていたが、2.2では1つ残る。
- /cake2.2.1/build.xml
「build.xml」は「build.properties」とセットでAntに使われるファイルで、
Javaでの開発では当然の如く使われるものだ。
なぜそのファイルが含まれているのかは不明。
GitとかPearとか言っているので「間違ってリリースしちゃいました」かもしれない。
とにかく今はそんなことを知る必要がないので放置。
使い方がわからないなら消しても問題は全くないだろう。
もし警告に真っ向から立ち向かう気なら「<!DOCTYPE project>」と追記するとOKなはず。
もし [ウィンドウ]→[設定]→[一般]→[コンテンツ・タイプ] で
[テキスト]→[PHPコンテンツ・タイプ] に「*.ctp」を追加していると、以下でも警告が出る。
- /cake2.2.1/lib/Cake/Console/Templates/default/actions/controller_actions.ctp
- /cake2.2.1/lib/Cake/View/Elements/sql_dump.ctp
「controller_actions.ctp」は「Bake Template for Controller action generation.」と書いてるので
Bakeでコントローラを生成する際に使われるものだとわかる。
「HTMLなら『>』は『>』と書かないとダメだろ!」と警告されるが、
実際はHTMLではなくPHPソースのテンプレートなので全く問題はない。
Bakeを使わないなら「controller_actions.ctp」は消してもOKなようだ。
しかし「sql_dump.ctp」はデバッグモードで使用するのでファイルを消すわけにはいかない。
「HTMLのtableタグが開始していないのに終了してるぞ!」と警告されるが、
PHPで開始タグを出力しているので事実上問題はない。
どうしても「sql_dump.ctp」の警告を消したいのなら、tableタグの閉じタグをechoで出力するようにすればよい。
~ ここまで Eclipse 警告対策 + α ~
最後にXAMPPのApacheを起動し http://localhost/cake2.2.1/ へアクセスして、警告なしでCakePHPが動作することを確認。
(DBの設定が間違っていたりDB自体が起動していなかったりすると警告が表示される。)
コメント