<?php
/**
*
* YAMLパーサ（Spyc）による設定
*
* PHP version 5
*
* @package    configs
* @author     stk2k <stk2k@sazysoft.com>
* @copyright  2008 stk2k, sazysoft
*/
class SpycConfigProvider implements IConfigProvider
{

	/*
	 *    コンストラクタ
	 */
	public function __construct()
	{
	}

	/**
	 * 設定プロバイダ名
	 *
	 * @access    public
	 * @return    String
	 */
	public function getProviderName()
	{
		return "Spyc Config Provider";
	}

	/**
	 *　設定をロード
	 *
	 * @access    public
	 * @param     config_name 設定名
	 */
	public function load( $config_root, $config_name )
	{
		log_info( "config",  "設定ファイル[$config_name]を読み込みます。", __FILE__, __LINE__ );

		$config_file = $config_root . '/' . "$config_name.yml";

		if ( !is_file($config_file) ){			
			log_info( "config",  "設定ファイル[$config_file]は存在しません。", __FILE__, __LINE__ );
			return NULL;
		}

		require_once ( 'spyc.php' );

		// 設定のロード
	    $Spyc = new Spyc;
	    $config = $Spyc->load($config_file);

//print "config_file:$config_file<BR>";
//print System::arrayToString($config) . "<BR>";
	
		log_info( "config",  "設定ファイル[$config_name]を読み込みました。", __FILE__, __LINE__ );

		return $config;
	}

}
