スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Zend_Configのメモ

PHPのアプリを作る事になったので、新たなフレームワークにチャレンジしてみました。以前はmapleだったんですが、最近は開発が進んでいないようですので見送りました。個人的には薄めのフレームワークが好みなので、ZendFrameworkにしてみました。
とりあえず、一番楽そうなZend_Configのメモです。
Zend_Configは外部設定ファイルを読むための機能です。iniファイルとxmlファイルを読み込むことが可能ですが、iniファイルの方が圧倒的に記述量が少ないのでiniファイルを選択します。まずは設定ファイルのサンプルです。

[develop]
database.adapter = pdo_pgsql
database.params.host = localhost
database.params.username = user
database.params.password = pass
database.params.dbname = test

[service]
database.adapter = pdo_pgsql
database.params.host = 192.168.1.1
database.params.username = user
database.params.password = pass
database.params.dbname = test

developとserviceは開発環境と本番環境を意味します。
設定ファイルを読むときに、どちらかを選択します。
次は実際に読み込むソースです。

require_once 'Zend/Config/Ini.php';
require_once 'Zend/Db.php';

define("SITE_ENVIRONMENT", "develop");
$config = new Zend_Config_Ini(
"/opt/application/config/application.ini",
SITE_ENVIRONMENT);

echo $config->database->params->host; // localhost
echo $config->database->params->username; // user

$db = Zend_Db::factory(
$config->database);


SIDE_ENVIRONMENT定数で開発環境か本番環境を設定しています。サーバのIPアドレスを元に定数を自動判別するのもいいですね。
次にZend_Configのインスタンスを生成します。第一引数が設定ファイルのパス、第二引数が読み込むiniファイルのセクション(このサンプルでは環境を意味します)です。
利用の仕方は->でどんどんつないでいけば、内容が参照できます。Zend_Dbでは、今回のサンプルのように、adapterとparamsを準備してあげれば、自動的に設定してくれるので便利です。
私の場合、DB設定の他にSmartyの設定やアプリケーションのパスなどをここに記述して利用しています。
スポンサーサイト

Tag : zendframework php

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。