Pinq\Providers\DSL\QueryCompilerConfiguration::loadCompiledQueryFromTemplate PHP Method

loadCompiledQueryFromTemplate() protected method

protected loadCompiledQueryFromTemplate ( Pinq\Caching\ICacheAdapter $queryCache, $templateHash, Pinq\Providers\DSL\Compilation\IQueryTemplate $template, Pinq\Queries\IResolvedParameterRegistry $parameters, callable $compileRequestCallback )
$queryCache Pinq\Caching\ICacheAdapter
$template Pinq\Providers\DSL\Compilation\IQueryTemplate
$parameters Pinq\Queries\IResolvedParameterRegistry
$compileRequestCallback callable
    protected function loadCompiledQueryFromTemplate(Caching\ICacheAdapter $queryCache, $templateHash, IQueryTemplate $template, Queries\IResolvedParameterRegistry $parameters, callable $compileRequestCallback)
    {
        if ($template instanceof IStaticQueryTemplate) {
            return $template->getCompiledQuery();
        }
        $resolvedStructuralParameters = $template->resolveStructuralParameters($parameters, $hash);
        $compiledQueryHash = md5($templateHash . '-' . $hash);
        $compiledQuery = $queryCache->tryGet($compiledQueryHash);
        if (!$compiledQuery instanceof ICompiledQuery) {
            $compiledQuery = $compileRequestCallback($template, $resolvedStructuralParameters);
            $queryCache->save($compiledQueryHash, $compiledQuery);
        }
        return $compiledQuery;
    }