$cache
$cache : \Doctrine\Common\Cache\Cache
Cache manager.
$cache : \Doctrine\Common\Cache\Cache
Cache manager.
__construct(string $appId, \Doctrine\Common\Cache\Cache $cache)
VerifyTicket constructor.
string | $appId | |
\Doctrine\Common\Cache\Cache | $cache |
<?php
/*
* This file is part of the overtrue/wechat.
*
* (c) overtrue <i@overtrue.me>
*
* This source file is subject to the MIT license that is bundled
* with this source code in the file LICENSE.
*/
/**
* VerifyTicket.php.
*
* Part of Overtrue\WeChat.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author mingyoung <mingyoungcheung@gmail.com>
* @author lixiao <leonlx126@gmail.com>
* @copyright 2016
*
* @see https://github.com/overtrue
* @see http://overtrue.me
*/
namespace EasyWeChat\OpenPlatform;
use Doctrine\Common\Cache\Cache;
use EasyWeChat\Core\Exceptions\RuntimeException;
class VerifyTicket
{
/**
* Cache manager.
*
* @var \Doctrine\Common\Cache\Cache
*/
protected $cache;
/**
* App Id.
*
* @var string
*/
protected $appId;
/**
* Cache Key.
*
* @var string
*/
private $cacheKey;
/**
* Cache key prefix.
*
* @var string
*/
protected $prefix = 'easywechat.open_platform.component_verify_ticket.';
/**
* VerifyTicket constructor.
*
* @param string $appId
* @param \Doctrine\Common\Cache\Cache $cache
*/
public function __construct($appId, Cache $cache)
{
$this->appId = $appId;
$this->cache = $cache;
}
/**
* Set component verify ticket to the cache.
*
* @param string $ticket
*
* @return bool
*/
public function setTicket($ticket)
{
return $this->cache->save($this->getCacheKey(), $ticket);
}
/**
* Get component verify ticket.
*
* @return string
*
* @throws \EasyWeChat\Core\Exceptions\RuntimeException
*/
public function getTicket()
{
if ($cached = $this->cache->fetch($this->getCacheKey())) {
return $cached;
}
throw new RuntimeException('Component verify ticket does not exists.');
}
/**
* Set component verify ticket cache key.
*
* @param string $cacheKey
*
* @return $this
*/
public function setCacheKey($cacheKey)
{
$this->cacheKey = $cacheKey;
return $this;
}
/**
* Get component verify ticket cache key.
*
* @return string $this->cacheKey
*/
public function getCacheKey()
{
if (is_null($this->cacheKey)) {
return $this->prefix.$this->appId;
}
return $this->cacheKey;
}
}