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 © 2010 by My Company', );
パラメータにアクセスする際は、「Yii::app()->params[‘postPerPage’]」というようにすればよい。
(yii-1.1.1.r1907)