/**
  *  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;
 }
Esempio n. 2
0
/**
 *    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);
}