作者:intersvya
项目:yii2-cache-mute
/**
* @inheritdoc
*/
protected function releaseLock($name)
{
if (!$this->cache instanceof Cache) {
return false;
}
return $this->cache->delete($this->getCacheKey($name));
}
作者:tqsq200
项目:dotplant
public function endGathering()
{
array_pop($this->cacheStack);
$elements = $this->elements[$this->currentStackId];
Yii::trace('End gathering:' . $this->currentStackId);
$dependencies = array_pop($this->cacheStackDependencies);
$this->cache->set($this->getCacheKey(), $elements, $this->cacheLifetime, $dependencies);
unset($this->elements[$this->currentStackId]);
$stack = $this->cacheStack;
$this->currentStackId = end($stack);
return $elements;
}
作者:ezsk
项目:yii2-platform-cor
/**
* @throws InvalidConfigException
*/
public function init()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = __CLASS__;
if (($this->_paramsInfo = $this->cache->get($cacheKey)) === false) {
$this->_paramsInfo = $this->fetchParamsInfo();
$this->cache->set($cacheKey, $this->_paramsInfo, $this->cacheDuration, $this->cacheDependency);
}
} else {
$this->_paramsInfo = $this->fetchParamsInfo();
}
}
作者:hughcub
项目:apppus
public function getToken($userId, $name, $portraitUri)
{
$cacheKey = 'token:' . serialize([strval($userId), strval($name), strval($portraitUri)]);
if (!$this->cache instanceof Cache || false == ($results = $this->cache->get($cacheKey)) || !isset($results['token'])) {
$response = $this->request('/user/getToken', ['userId' => $this->getUserAlias($userId), 'name' => $name, 'portraitUri' => $portraitUri]);
$results = Json::decode($response, true);
if (!isset($results['code']) || 200 != $results['code']) {
throw new ResultException($response, '获取token失败');
}
if ($this->cache instanceof Cache) {
$this->cache->set($cacheKey, $results, $this->tokenCacheDuration);
}
}
return $results['token'];
}
作者:cdcche
项目:yii2-wecha
/**
* @throws \yii\base\InvalidConfigException
*/
public function init()
{
parent::init();
if (!empty($this->cache)) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
}
作者:VampireM
项目:admin-9939-co
public function beforeAction($action)
{
if (!$this->enabled) {
return true;
}
$this->cache = Instance::ensure($this->cache, Cache::className());
$this->cache->cachePath = Yii::getAlias($this->cachePath) . '/' . $action->getUniqueId();
if (is_array($this->dependency)) {
$this->dependency = Yii::createObject($this->dependency);
}
$properties = [];
foreach (['cache', 'duration', 'dependency', 'variations'] as $name) {
$properties[$name] = $this->{$name};
}
$id = $this->varyByRoute ? $action->getUniqueId() : __CLASS__;
$response = Yii::$app->getResponse();
ob_start();
ob_implicit_flush(false);
if ($this->view->beginCache($id, $properties)) {
$response->on(Response::EVENT_AFTER_SEND, [$this, 'cacheResponse']);
return true;
} else {
$data = $this->cache->get($this->calculateCacheKey());
if (is_array($data)) {
$this->restoreResponse($response, $data);
}
$response->content = ob_get_clean();
return false;
}
}
作者:fonclu
项目:i18
/**
* Initializes the DbMessageSource component.
* This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
* Configured [[cache]] component would also be initialized.
* @throws InvalidConfigException if [[db]] is invalid or [[cache]] is invalid.
*/
public function init()
{
parent::init();
$this->db = Instance::ensure($this->db, Connection::className());
if ($this->enableCaching) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
}
作者:yii2son
项目:yii2-setting
/**
* Initialize the component
*/
public function init()
{
parent::init();
if ($this->cache !== null) {
$this->cache = Instance::ensure($this->cache, Cache::className());
}
$this->model = new $this->modelClass();
}
作者:Kest00
项目:yii
/**
* Initializes this application component.
* It checks if extension required is loaded.
*/
public function init()
{
parent::init();
$extension = $this->useApcu ? 'apcu' : 'apc';
if (!extension_loaded($extension)) {
throw new InvalidConfigException("ApcCache requires PHP {$extension} extension to be loaded.");
}
}
作者:ezsk
项目:yii2-platform-cor
public function actionFlushCache($component = 'cache')
{
/** @var Cache $cache */
$cache = Instance::ensure($component, Cache::className());
$cache->flush();
Yii::$app->session->setFlash(Alert::TYPE_SUCCESS, Yii::t('gromver.platform', 'Cache flushed.'));
return $this->redirect(['index']);
}
作者:Avenger
项目:yii2-podiu
/**
* Singleton construct.
*/
protected function __construct()
{
try {
$this->cache = Instance::ensure($this->cache, DefaultCache::className());
} catch (Exception $e) {
$this->cache = new DummyCache();
}
}
作者:oakcm
项目:oakcm
public function run()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = [__CLASS__, $this->items];
if (($this->items = $this->cache->get($cacheKey)) === false) {
$this->items = ModuleEvent::trigger(self::EVENT_FETCH_ITEMS, new MenuItemsEvent(['items' => $this->items]), 'items');
$this->cache->set($cacheKey, $this->items, $this->cacheDuration, $this->cacheDependency);
}
} else {
$this->items = ModuleEvent::trigger(self::EVENT_FETCH_ITEMS, new MenuItemsEvent(['items' => $this->items]), 'items');
}
$this->items += $this->customItems;
parent::run();
// TODO: Change the autogenerated stub
}
作者:ezsk
项目:yii2-platform-cor
public function init()
{
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = __CLASS__;
if ((list($paths, $routes, $links) = $this->cache->get($cacheKey)) === false) {
$this->createMap();
$this->cache->set($cacheKey, [$this->_paths, $this->_routes, $this->_links], $this->cacheDuration, $this->cacheDependency);
} else {
$this->_paths = $paths;
$this->_routes = $routes;
$this->_links = $links;
}
} else {
$this->createMap();
}
}
作者:Brother-Simo
项目:yii2-wechat-componen
/**
* 初始化组件
*/
public function init()
{
parent::init();
if ($this->cache !== null) {
$this->cache = Instance::ensure($this->cache, Cache::className());
} else {
throw new InvalidConfigException("Cache must be turned on");
}
self::$wechat = $this;
}
作者:davidpersso
项目:FrameworkBenchmark
/**
* Initializes the DbCache component.
* This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
* @throws InvalidConfigException if [[db]] is invalid.
*/
public function init()
{
parent::init();
if (is_string($this->db)) {
$this->db = Yii::$app->getComponent($this->db);
}
if (!$this->db instanceof Connection) {
throw new InvalidConfigException("DbCache::db must be either a DB connection instance or the application component ID of a DB connection.");
}
}
作者:pathma
项目:yii2com
/**
* Initializes the FragmentCache object.
*/
public function init()
{
parent::init();
$this->cache = $this->enabled ? Instance::ensure($this->cache, Cache::className()) : null;
if ($this->getCachedContent() === false) {
$this->getView()->cacheStack[] = $this;
ob_start();
ob_implicit_flush(false);
}
}
作者:flexibuil
项目:php-saf
/**
* Initialization of cache component.
* @throws InvalidConfigException if cacheComponent is incorrect.
*/
protected function initCacheComponent()
{
if ($this->cacheComponent === null || is_array($this->cacheComponent)) {
$this->cacheComponent = Yii::createObject(array_merge(['class' => FileCache::className(), 'cachePath' => rtrim($this->compiledPath, '\\/') . '/cache', 'fileMode' => $this->fileMode, 'dirMode' => $this->mkDirMode], $this->cacheComponent ?: []));
} elseif (is_string($this->cacheComponent)) {
$this->cacheComponent = Yii::$app->get($this->cacheComponent);
}
if ($this->cacheComponent !== false && !$this->cacheComponent instanceof Cache) {
throw new InvalidConfigException('Incorrect value of ' . __CLASS__ . '::$cacheComponent param. Calculated value of this param must be an instance of ' . Cache::className() . '.');
}
}
作者:gromve
项目:yii2-platform-basi
public function init()
{
if (!$this->language) {
throw new InvalidConfigException(get_called_class() . '::language must be set.');
}
if ($this->cache) {
/** @var Cache $cache */
$this->cache = Instance::ensure($this->cache, Cache::className());
$cacheKey = [__CLASS__, $this->language];
if ((list($paths, $routes, $links) = $this->cache->get($cacheKey)) === false) {
$this->createMap();
$this->cache->set($cacheKey, [$this->_paths, $this->_routes, $this->_links], $this->cacheDuration, $this->cacheDependency);
} else {
$this->_paths = $paths;
$this->_routes = $routes;
$this->_links = $links;
}
} else {
$this->createMap();
}
}
作者:highestgoodlikewate
项目:yii2-taobao-i
/**
* 通过API查询IP信息
* @param null $ip
* @return IpData|mixed
*/
public function get($ip = null)
{
$ip = $ip === null ? Yii::$app->request->userIP : $ip;
$ipData = new IpData();
$cacheKey = $this->getCacheKey($ip);
if ($this->cache !== null && ($json = $this->cache->get($cacheKey))) {
$ipData->setAttributes(json_decode($json, true), false);
return $ipData;
}
$context = stream_context_create(['http' => ['timeout' => 1]]);
$url = $this->_url . $ip;
try {
$result = json_decode(file_get_contents($url, 0, $context), true);
} catch (Exception $e) {
$result = null;
}
if ($result && $result['code'] == 0) {
$ipData->setAttributes($result['data'], false);
$this->cache !== null && $this->cache->set($cacheKey, json_encode($ipData), $this->cacheDuration);
}
return $ipData;
}
作者:husccex
项目:yii2-handlersocke
/**
* Initializes the HSCache component.
* This method will initialize the [[db]] property to make sure it refers to a valid DB connection.
* @throws InvalidConfigException if [[db]] is invalid.
*/
public function init()
{
parent::init();
switch ($this->mode) {
case 'multiType':
$this->hs = new \HSLib\CacheMultiType($this->host . ':' . $this->portRead, $this->secret, $this->host . ':' . $this->portWrite, $this->secret, $this->db, $this->table, $this->debug);
break;
case 'multiTable':
$this->hs = new \HSLib\CacheMultiTable($this->host . ':' . $this->portRead, $this->secret, $this->host . ':' . $this->portWrite, $this->secret, $this->db, $this->debug);
break;
default:
throw new InvalidConfigException('Wrong mode in ' . HSCache::className());
}
}