CakePHPはじめました。

Written by uechoco 4月 24
このエントリをはてなブックマークに追加CakePHPはじめました。のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

CakePHPを勉強するために、何か簡単なものを作ろうと思い立ったので、CakeUploaderなるものを作ろうと思います。ようはアップローダーです。

Ver 1.0では単純なアップローダーの機能のみの実装に徹して、CakePHPに慣れようかと思います。開発にはDreamweaver 8とXAMPP、ER図のモデリングにはDBDesigner 4を使用しています。

作業手順を記述していきます。Dreamweaver固有の作業も含まれているのであしからず。


1.CakePHPの本体(stable版)を本家からダウンロード。


2.解凍し、適当な開発ディレクトリに配置。


3.Dreamweaverに".thtml"拡張子をPHP ファイルだと認識させるために設定ファイルを変更。
3.1 C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Dreamweaver 8\Configuration\Extensions.txt の"すべてのドキュメント"と"PHP ファイル"の行にTHTMLを追加。詳細は「Dreamweaver 拡張子 追加」などでググってほしい。
3.1.1 もし、上記のパスにファイルが無ければ、C:\Program Files\Macromedia\Dreamweaver 8\Configuration\Extensions.txt のファイルに上記の処理を行う。
3.2 C:\Program Files\Macromedia\Dreamweaver 8\Configuration\DocumentTypes\MMDocumentTypes.xml のファイル内のphpの定義部分に、thtmlを2箇所挿入。詳細は「Dreamweaver 拡張子 追加」などでググってほしい。


4.Dreamweaverを開き、でサイト管理を新規作成して先の開発ディレクトリを登録。
4.1 アップロード先はXAMPPのドキュメント公開ディレクトリ(標準ではC:\Program Files\xampp\htdocs)の直下のディレクトリを指定。例えば、C:\Program Files\xampp\htdocs\uploader1.0\


5.DBDesigner 4を利用してER図を作成し、SQL文を吐き出す。とりあえず、暫定的に以下のようになった。

MySQL:
  1. CREATE TABLE upfiles (
  2. id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  3. original_name VARCHAR(255) NOT NULL,
  4. save_name VARCHAR(255) NOT NULL,
  5. extension VARCHAR(64) NULL,
  6. size INTEGER UNSIGNED NULL DEFAULT '0',
  7. created DATETIME NULL,
  8. modified DATETIME NULL,
  9. description TEXT NULL,
  10. PRIMARY KEY(id)
  11. );

5.1 ちなみに、テーブル名がfilesではなくupfilesなのは、cakeのappディレクトリ内のwebrootディレクトリの下に、filesというディレクトリがあり、files/というアドレスがコントローラ名ではなくURL的にそのfilesディレクトリにアクセスしてしまうため。
5.2 ちなみに、descriptionフィールドは、できれはcommentという名前にしたかったが、DBDesigner 4によると、どこかのSQLの予約語であるため、その名前は使用できなかった。


6.XAMPPのphpMyAdmin(標準ではhttp://localhost/phpmuadmin/)にユーザーやDBの設定を行った後、上記のSQLでテーブルを作成する。ここでは暫定的に以下のようにする。

hostname : localhost
username : test
password : pass
database : cake


7.[root]\app\config\database.php.default[root]\app\config\database.phpとして同じフォルダ内にコピーした後、コピーしたdatabase.phpを手順6の通りに設定する。

PHP:
  1. class DATABASE_CONFIG
  2. {
  3. var $default = array('driver' => 'mysql', 'connect' => 'mysql_connect',
  4. 'host' => 'localhost',
  5. 'login' => 'test'
  6. 'password' => 'pass',
  7. 'database' => 'cake',
  8. 'prefix' => '');
  9. }


8.[root]\cake\app_controller.php[root]\cake\app_model.php[root]\app\直下にコピーする。
8.1 "SET NAMES UTF-8"などのクエリをDBコネクションの最初に行う必要があれば、さきほどコピーした、[root]\app\app_model.phpに以下のように記述する。今回は記述した。

PHP:
  1. class AppModel extends Model{
  2. function __construct()
  3. {
  4. parent::__construct();
  5. if (!defined('GLOBAL_SET_NAMES')) {
  6. $this->query('SET NAMES UTF8');
  7. define('GLOBAL_SET_NAMES', true);
  8. }
  9. }
  10. }


9.[root]\cake\libs\view\layouts\default.hthtml[root]\app\views\layouts\default.hthtmlにコピーし、<title>タグの1行前に以下の行を追加する。

PHP:
  1. echo $html->charset('utf-8');


とりあえず、今回はここまで。まとまった時間が取れたときに続きを書きます。

このエントリをはてなブックマークに追加CakePHPはじめました。のはてなブックマーク被リンク数このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをBuzzurl(バザール)に追加

No Responses to “CakePHPはじめました。”

コメントはまだありません。

Comments RSS rss うえちょこ@ぼろぐ TrackBack Identifier URI rss うえちょこ@ぼろぐ

コメントする