/** * * @param string $string * @param string $language * @return string */ public function translate($string, $language) { $key = "{$string}-to-{$language}"; if ($this->cache->exists($key)) { return $this->cache->load($key); } if ($this->hasTranslate($string, $language)) { $strings = $this->getDBStrings($language); $string = $strings[$string]; $this->cache->save($key, $string); } return $string; }
/** * Load * @param string $key * @return mixed */ public function load($key) { if (!$this->exists($key)) { return null; } if ($this->primaryStorage->exists($key)) { return $this->primaryStorage->load($key); } if ($this->secondaryStorage->exists($key)) { $object = $this->secondaryStorage->load($key); $this->primaryStorage->save($key, $object); return $object; } }
/** * Constructor */ public function __construct($accessRoleCatalog) { $this->accessRoleCatalog = $accessRoleCatalog; $this->mi = microtime(true); if ($this->enableCache) { $this->cache = new Storage\File(array(), array('cache_dir' => 'cache/acl')); $this->acl = $this->cache->load('acl'); if (!$this->acl) { $this->createAcl(); } } else { $this->createAcl(); } $this->mf = microtime(true); }
/** * * @param $menu * @param AbstractMenuRenderer $renderer * @return string */ public function buildAndRender(AbstractMenuRenderer $renderer) { $keyStorage = 'menu_html_' . $this->role; if ($this->cache->exists($keyStorage)) { return $this->cache->load($keyStorage); } $this->build(); $html = $this->render($this->getUserMenu(), $renderer); if (null == $renderer) { $this->cache->save($keyStorage, $html); } return $html; }