/** * load config * * @param Charcoal_String $config_root root name * @param Charcoal_String $config_name config name * * @return mixed configure data */ public function loadConfig(Charcoal_String $config_root, Charcoal_String $config_name) { $cache_key = $config_root->append($config_name); $cache_key = sha1($cache_key); $source = new Charcoal_File(s("{$cache_key}.ini")); $cache = $this->getCache(s($cache_key), $source); if ($cache) { if (is_array($cache)) { return $cache; } } $data = parent::loadConfig($config_root, $config_name); if (is_array($data)) { $this->setCache(s($cache_key), $data); } return $data; }
/** * stringをStringオブジェクトに変換 **/ function s($value, $encoding = NULL) { if ($value instanceof Charcoal_String) { return $value; } return $value !== NULL ? new Charcoal_String($value, $encoding) : Charcoal_String::defaultValue($encoding); }