CakePHP

バージョンと製造年月日

  • 2011-02-01

関連ページ

メモ

とりあえず始めてみた CakePHP開発環境構築 Apache PHP MySQL環境はXAMPPで一発構築

Cakeを導入する CakePHP: 高速開発 php フレームワーク。 Home からダウンロード 1.3.8

Production向けのインストールをすることにする。

ダウンロードしたcake解凍して、適当なディレクトリに突っ込む。これはどこでもいい できれば浅いディレクトリがよろし

そしてapacheを名前ベースで切り替えることにするのだ ということで

Apacheの設定に↓を書き加える

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "D:\hoge01\app\webroot"
    ServerName hoge01
</VirtualHost>
 
<Directory "D:\hoge01\app\webroot">
    order deny,allow
    allow from all
</Directory> 

そしてhostsファイルに

127.0.0.1  hoge01

を追記 LinuxならetcとかWindowsなら

C:\WINDOWS\system32\drivers\etc

らへんにある

D:\hoge01\app\webroot

http://hoge01/

に繋がっているわけだ Apacheを再起動して アクセスしてみる

めでたく開通確認

では次にデータベースの設定をやる 適当にデータベースを作る XAMPPでphpmyadminまで入っているので容赦なく利用する

警告が出ている MySQL のデフォルト特権アカウントに相当する設定 (root ユーザでパスワードなし) が含まれています。

だと

特権を見るとrootのパスワード無しになっているので変更しておく

SET PASSWORD FOR 'root'@'localhost' = PASSWORD( '****' );
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD( '****' );

MySQLをとりあえず再起動

phpmyadminの設定を

$cfg['Servers'][$i]['auth_type'] = 'http';   #←ココ
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'hoge';    #←ココ
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['AllowNoPassword'] = false;  #←ココ

んか感じで書き換えてみる。 再びphpmyadminにアクセス

動いたのでDBを作る

CREATE DATABASE `hoge01` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Cakeのほうにも同様の設定を書く app/config/database.php.defaultをコピーして app/config/database.phpを作る

↓っぽく書き換える persistentというやつは多分コネクションを繋ぎっぱにするかどうかの設定 エンコードを書き加えておく。encodingの部分の設定で「UTF-8」と書いているページがチラホラあるが正確には「utf8」だ。

class DATABASE_CONFIG {
    #通常使う設定
	var $default = array(
		'driver' => 'mysql',       #mysqlに繋ぐ
		'persistent' => false,     #繋ぎっパにしない
		'host' => 'localhost',     #接続先
		'login' => 'root',         #ユーザー
		'password' => 'hoge',      #パスワード
		'database' => 'hoge01',    #使うDB
		'prefix' => '',            #テーブル名の接頭。環境の制限で自由にDBを作れない人とかがDB名代わりに使う
		'encoding' => 'utf8',      #文字コード

	);
    #テストで使う設定
	var $test = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'root',
		'password' => 'hoge',
		'database' => 'hoge01_test',
		'prefix' => '',
		'encoding' => 'utf8',
	);
}

さてもう一度アクセス

http://hoge01/
Cake is able to connect to the database.

と出たので接続OK

次に全体設定をやる 設定は

D:\hoge01\app\config\core.php

特に設定するわけでなし キーを少し変更

DBにテーブルを作る

CREATE TABLE `hoge01`.`users` (
`id` BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY COMMENT 'ユーザーのID(管理用)',
`name` VARCHAR( 256 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT 'ユーザーのニックネーム'
) ENGINE = InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT = 'ユーザーのテーブル';

ここからschemaを生成

phpにパスを通しておいて、cakeコマンドをcakephpを設置したところで実行」

cake\console\cake schema generate -f

これでshcema.phpがDBの構造がから逆生成されて、こいつがmodel作成の元ネタに使えるのだ

参考サイト

タグ

php/cakephp/start.txt · 最終更新: 2018-08-10 10:29 by ore