Yii

Yii アプリケーションへ初期設定値を与える簡便な方法

Zend Framework には Zend_Config という便利なクラスがあって、設定情報を簡単に扱える。Yii では CConfiguration が利用できそうだ。それを利用するのもいいがもっと簡単な方法は?

アプリケーション起動時にコアモジュールには「config/main.php」を利用できるのだが、確かチュートリアルにユーザー定義値を扱った操作が有ったのを思い出した。その度チュートリアルをひっくり返して確認するのも何なので、以下にその内容を。

アプリケーションのプロテクト領域(basePath)で、「config/main.php」にユーザー定義のパラメータファイルの読み込みを次のように設定し、「return array()」で定義したパラメータファイルを用意すればよい。

config/main.php 例

<?php
return array(
	:
	// application-level parameters that can be accessed
	// using Yii::app()->params['paraName']
	'params'=>require(dirname(__FILE__) . '/params.php'),
);

config/params.php 例

<?php
return array(
	'title'=>'チュートリアル',
	'adminEmail'=>'webmaster@example.com',
	'postsPerPage'=>10,
	'recentCommentCount'=>10,
	'tagCloudCount'=>20,
	'commentNeedApproval'=>true,
	'copyrightInfo'=>'Copyright &copy; 2010 by My Company',
);

パラメータにアクセスする際は、「Yii::app()->params[‘postPerPage’]」というようにすればよい。

(yii-1.1.1.r1907)