/
LoaderInterface.php
49 lines (42 loc) · 1.08 KB
/
LoaderInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/*
* This file is part of Twig.
*
* (c) Fabien Potencier
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Twig\Loader;
use Twig\Error\LoaderError;
use Twig\Source;
/**
* Interface all loaders must implement.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
interface LoaderInterface
{
/**
* Returns the source context for a given template logical name.
*
* @throws LoaderError When $name is not found
*/
public function getSourceContext(string $name): Source;
/**
* Gets the cache key to use for the cache for a given template name.
*
* @throws LoaderError When $name is not found
*/
public function getCacheKey(string $name): string;
/**
* @param int $time Timestamp of the last modification time of the cached template
*
* @throws LoaderError When $name is not found
*/
public function isFresh(string $name, int $time): bool;
/**
* @return bool
*/
public function exists(string $name);
}