PHPコード自体を設定ファイルとして扱うライブラリを公開
2年以上前に作ったまま放置されてた「PHPコード自体を設定ファイルとして扱うライブラリ」が発掘されたので、せっかくなのでPacif(ぱしふ、PHP Awesome Configuration file InterFace)と名前をつけて公開します。ドキュメントは気が向いたら作るかも。
同じような事やってる人とかきっと居ると思うけど、検索しても意外と引っかからないですね。ソース見たら判るけど、やってることは非常に単純なのでわざわざ公開する方がアレかも。
ちゃんとテストしてないので、動かなかったら連絡してくれると嬉しいです。
動作環境
たぶんPHP4とPHP5のどっちでも動くはず。
Pacifを使うメリット
かんたんな使い方
「設定ファイル」と「設定ファイルを読み込むプログラム」を用意する。
設定ファイル
こんな感じで設定ファイルを作る。
<?php $contents_cache = false; $database = array( 'dsn' => 'sqlite:test.sqlite', 'user' => '', 'pass' => '' ); $smtp = array( 'host' => '10.10.10.10', 'user' => 'hoge', 'pass' => 'hogehoge' ); ?>
PHPのコードそのままですね。
設定ファイルを読み込むプログラム
<?php require 'Pacif.php'; main(); function main() { $config = Pacif::load('/path/to/config.php'); var_dump($config['contents_cache']); // false var_dump($config['database']); // array('dsn' => 'sqlite:test.sqlite', 'user' => '', 'pass' => '') var_dump($config['smtp']['host']); // '10.10.10.10' } ?>
Pacif::load(); で設定ファイルを読み込むと、定義した変数名がキーになっている連想配列が返ってくる。
今後やるかもしれない事
- PHP5でtry catchでエラーハンドリングできるようにはしたい
- コード中のコメントをすごく適当に英語で書いたけど、あってるのか調べる