本文整理汇总了PHP中Doctrine\ORM\Query::useQueryCache方法的典型用法代码示例。如果您正苦于以下问题:PHP Query::useQueryCache方法的具体用法?PHP Query::useQueryCache怎么用?PHP Query::useQueryCache使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Query
的用法示例。
在下文中一共展示了Query::useQueryCache方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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;
}