本文整理汇总了PHP中Doctrine\ORM\Query::useResultCache方法的典型用法代码示例。如果您正苦于以下问题:PHP Query::useResultCache方法的具体用法?PHP Query::useResultCache怎么用?PHP Query::useResultCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Query
的用法示例。
在下文中一共展示了Query::useResultCache方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: cacheQuery
/**
* return query in cache
*
* @param Query $query
* @param integer $time
* @param string $MODE [MODE_GET, MODE_PUT , MODE_NORMAL , MODE_REFRESH]
* @param boolean $setCacheable
* @param string $namespace
* @param string $input_hash
*
* @return Query
* @access public
* @author Etienne de Longeaux <etienne.delongeaux@gmail.com>
*/
public function cacheQuery(Query $query, $time = 3600, $MODE = 3, $setCacheable = true, $namespace = '', $input_hash = '')
{
if (!$query) {
throw new \Gedmo\Exception\InvalidArgumentException('Invalide query instance');
}
// create single file from all input
if (empty($input_hash)) {
$input_hash = $namespace . sha1(serialize($query->getParameters()) . $query->getSQL());
}
$query->useResultCache(true, $time, (string) $input_hash);
$query->useQueryCache(true);
if (method_exists($query, 'setCacheMode')) {
$query->setCacheMode($MODE);
}
if (method_exists($query, 'setCacheable')) {
$query->setCacheable($setCacheable);
}
return $query;
}
示例2: getOneResult
public function getOneResult(\Doctrine\ORM\Query $query, $cacheId = null, $useCache = false)
{
$query->useResultCache($useCache, $this->cacheDuration, $cacheId);
return $query->getOneOrNullResult();
}
示例3: setQueryOptions
/**
* Set the query options
*
* @param \Doctrine\ORM\Query $query
* @param array $options
*/
protected function setQueryOptions(Query $query, array $options = null)
{
if (!$options) {
return;
}
if (isset($options['result_cache'])) {
if (is_array($options['result_cache'])) {
foreach ($options['result_cache'] as $key => $value) {
switch ($key) {
case 'enabled':
$query->useResultCache($value);
break;
case 'lifetime':
$query->setResultCacheLifetime($value);
break;
case 'id':
$query->setResultCacheId($value);
break;
}
}
}
}
}