Project

General

Profile

1
<?php
2

    
3
/*
4
 * This file is part of Twig.
5
 *
6
 * (c) 2009 Fabien Potencier
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

    
12
/**
13
 * Interface all loaders must implement.
14
 *
15
 * @author Fabien Potencier <fabien@symfony.com>
16
 */
17
interface Twig_LoaderInterface
18
{
19
    /**
20
     * Gets the source code of a template, given its name.
21
     *
22
     * @param string $name The name of the template to load
23
     *
24
     * @return string The template source code
25
     *
26
     * @throws Twig_Error_Loader When $name is not found
27
     */
28
    public function getSource($name);
29

    
30
    /**
31
     * Gets the cache key to use for the cache for a given template name.
32
     *
33
     * @param string $name The name of the template to load
34
     *
35
     * @return string The cache key
36
     *
37
     * @throws Twig_Error_Loader When $name is not found
38
     */
39
    public function getCacheKey($name);
40

    
41
    /**
42
     * Returns true if the template is still fresh.
43
     *
44
     * @param string $name The template name
45
     * @param int    $time Timestamp of the last modification time of the
46
     *                     cached template
47
     *
48
     * @return bool true if the template is fresh, false otherwise
49
     *
50
     * @throws Twig_Error_Loader When $name is not found
51
     */
52
    public function isFresh($name, $time);
53
}
(21-21/43)