Hatena::ブログ(Diary)

MegaBlackLabel’s Log

2009-12-24

[][] 1.1で始めるYii Framework その1 (環境構築、Yiiインストール、データベース設定) 14:02

参照サイト

本家サイトチュートリアルの日本語版を公開しているCRAFTGEARさんのサイト

Yiiブログチュートリアル *1

上記サイトの手順をもとにブログアプリケーションの作成を実施します。

今回は、

1.さあはじめよう

を実施します。


開発環境

PDT+XAMPP(http://mergedoc.sourceforge.jp/)

Dドライブ直下にpdtフォルダを作成。そこに解凍。

その、環境変数のPathにD:\pdt\xampp\phpを追加。追加後、Windowsの再起動を実施。再起動後、コマンドプロンプトにて

>php -v
を実行して
PHP 5.2.9 (cli) (built: Feb 25 2009 15:52:24)
Copyright (c) 1997-2009 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Techogies
    with Zend Optimizer v3.3.3, Copyright (c) 1998-2007, by Zend Technologies
    with Zend Debugger v5.2.15, Copyright (c) 1999-2008, by Zend Technologies
が表示されることを確認。

本家のダウンロードサイトから、1.1RCを取得。

解凍後、yii-1.1rc.r1585フォルダ内のrequirementsフォルダをD:\pdt\xampp\htdocsに配置。

php.iniの

  • extension=php_apc.dll
  • extension=php_pdo_sqlite.dll

のコメントアウトを外す。その際にApacheが起動済みなら、一旦停止して再起動する。

http://localhost/requirements/index.phpを開いて、動作環境のチェック

f:id:No07:20091224123859p:image


Yii frameworkの配置(Yiiのインストール)

上記で解凍したyii-1.1rc.r1585フォルダ内のframeworkフォルダをD:\pdt\xampp\htdocs\yiiに配置。


PDTでのプロジェクトの作成

PDTでプロジェクトの作成を行います。

「ファイル」→「新規」→「プロジェクト」を選択し、「新規プロジェクト画面」で「PHP」→「PHPプロジェクト」を選択します。

  • プロジェクト名「blog」
  • Javascriptのサポートにチェック

として、完了をクリックします。


プロジェクトの作成

blogプロジェクトにYiiのスケルトンを作成します。

コマンドプロンプトを開いて以下のコマンドを実施します。

D:\pdt\xampp\htdocs\yii\framework>yiic webapp D:\pdt\xampp\htdocs\blog

Create a Web application under 'D:\pdt\xampp\htdocs\blog'? [Yes|No]
(Yesと入力してEnter)

・・・
Your application has been created successfully under D:\pdt\xampp\htdocs\blog.

実施後、ファイルが展開されますので、blogプロジェクトをリフレッシュして下さい。


エラーメッセージの日本語化

PDTよりconfigフォルダのmain.phpを開く。

そのファイルに以下の記述を追加。

<?php
	'language'=>'ja',

データベースの設定(SQLITEを使用)

上記で解凍したyii-1.1rc.r1585フォルダ内のdemosフォルダ内の\yii-1.1rc.r1585\demos\blog\protected\dataのdataフォルダを

D:\pdt\xampp\htdocs\blogに配置。

configフォルダのmain.phpを開いて、以下の項目を修正する。

<?php
※、変更前
// application components
	'components'=>array(
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
			),
		),
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
		),
		// uncomment the following to set up database
		/*
		'db'=>array(
			'connectionString'=>'Your DSN',
		),
		*/
	),

※、変更後
// application components
	'components'=>array(
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
			),
		),
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
		),
		// uncomment the following to set up database
		'db'=>array(
			'connectionString'=>'D:\pdt\xampp\htdocs\blog\protected\data\blog.db',
		),
	),

データベースの設定(MySQLを使用)

上記で解凍したyii-1.1rc.r1585フォルダ内のdemosフォルダ内の\yii-1.1rc.r1585\demos\blog\protected\dataのdataフォルダにある

schema.mysql.sqlをphpMyAdmin等で作成したblogデータベースでSQLを実行する。(その際に、データベースのデフォルト文字コードはUTF-8に設定)

configフォルダのmain.phpを開いて、以下の項目を修正する。

<?php
※、変更前
// application components
	'components'=>array(
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
			),
		),
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
		),
		// uncomment the following to set up database
		/*
		'db'=>array(
			'connectionString'=>'Your DSN',
		),
		*/
	),

※、変更後
// application components
	'components'=>array(
		'log'=>array(
			'class'=>'CLogRouter',
			'routes'=>array(
				array(
					'class'=>'CFileLogRoute',
					'levels'=>'error, warning',
				),
			),
		),
		'user'=>array(
			// enable cookie-based authentication
			'allowAutoLogin'=>true,
		),
		// uncomment the following to set up database
		'db'=>array(
			'connectionString'=>'mysql:dbname=blog;hostname=localhost;',
			'username'=>'root',
			'password'=>'',
			'charset'=>'utf8',
		),
	),

今回はここまで。

その2では、yiicツールを使ったcrud操作を行います。

*1:ただし、1.0での解説のため、1.1に一部置き換え