quelques un se sont échappés
[auf_bulletin.git] / lodel-0.9 / scripts / Cache / Lite / Output.php
CommitLineData
d31909c0 1<?php
2
3/**
4* This class extends Cache_Lite and uses output buffering to get the data to cache.
5*
6* There are some examples in the 'docs/examples' file
7* Technical choices are described in the 'docs/technical' file
8*
9* @package Cache_Lite
10* @version $Id: Output.php,v 1.4 2006/01/29 00:22:07 fab Exp $
11* @author Fabien MARTY <fab@php.net>
12*/
13
14require_once('Cache/Lite.php');
15
16class Cache_Lite_Output extends Cache_Lite
17{
18
19 // --- Public methods ---
20
21 /**
22 * Constructor
23 *
24 * $options is an assoc. To have a look at availables options,
25 * see the constructor of the Cache_Lite class in 'Cache_Lite.php'
26 *
27 * @param array $options options
28 * @access public
29 */
30 function Cache_Lite_Output($options)
31 {
32 $this->Cache_Lite($options);
33 }
34
35 /**
36 * Start the cache
37 *
38 * @param string $id cache id
39 * @param string $group name of the cache group
40 * @param boolean $doNotTestCacheValidity if set to true, the cache validity won't be tested
41 * @return boolean true if the cache is hit (false else)
42 * @access public
43 */
44 function start($id, $group = 'default', $doNotTestCacheValidity = false)
45 {
46 $data = $this->get($id, $group, $doNotTestCacheValidity);
47 if ($data !== false) {
48 echo($data);
49 return true;
50 }
51 ob_start();
52 ob_implicit_flush(false);
53 return false;
54 }
55
56 /**
57 * Stop the cache
58 *
59 * @access public
60 */
61 function end()
62 {
63 $data = ob_get_contents();
64 ob_end_clean();
65 $this->save($data, $this->_id, $this->_group);
66 echo($data);
67 }
68
69}
70
71
72?>