Example #1
0
 /**
  * 関数を呼び出す
  *
  * @param mixed $parameter
  * @param mixed $...
  * @return mixed
  * @see P2KeyValueStore_FunctionCache_Proxy::invoke()
  */
 public function __invoke()
 {
     $parameters = $this->_prependedParameters;
     $arguments = func_get_args();
     foreach ($arguments as $parameter) {
         $parameters[] = $parameter;
     }
     foreach ($this->_appendedParameters as $parameter) {
         $parameters[] = $parameter;
     }
     $oldLifeTime = $this->_cache->setLifeTime($this->_lifeTime);
     $result = $this->_cache->invoke($this->_function, $parameters);
     $this->_cache->setLifeTime($oldLifeTime);
     return $result;
 }
Example #2
0
    } elseif ($cache_clear == 'gc') {
        $kvs->gc($cache_lifetime);
        $optimize_db = true;
    }
    if ($optimize_db) {
        // キャッシュをVACUUM,REINDEX
        $kvs->optimize();
        // SQLiteならVACUUMを実行
        if ($db_class == 'db_sqlite') {
            $result = $db->query('VACUUM');
            if (DB::isError($result)) {
                p2die($result->getMessage());
            }
        }
    }
    $cache = new P2KeyValueStore_FunctionCache($kvs, $cache_lifetime);
    $imageInfo_getExtraInfo = $cache->createProxy('ImageCache2_ImageInfo::getExtraInfo');
    $imageInfo_getExifData = $cache->createProxy('ImageCache2_ImageInfo::getExifData');
    $editForm_imgManager = $cache->createProxy('ImageCache2_EditForm::imgManager');
    $use_cache = true;
} else {
    $use_cache = false;
}
// }}}
// {{{ prepare (Form & Template)
// ページ遷移用フォームを設定
// ページ遷移はGETで行うが、画像情報の更新はPOSTで行うのでどちらでも受け入れるようにする
// (レンダリング前に $qf->updateAttributes(array('method' => 'get')); とする)
$_attribures = array('accept-charset' => 'UTF-8,Shift_JIS');
$_method = $_SERVER['REQUEST_METHOD'] == 'GET' ? 'get' : 'post';
$qf = new HTML_QuickForm('go', $_method, $_SERVER['SCRIPT_NAME'], '_self', $_attribures);