Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
A few examples of Cache_Lite using :
2
------------------------------------
3
 
4
>>> Basic one :
5
 
6
<?php
7
 
8
// Include the package
9
require_once('Cache/Lite.php');
10
 
11
// Set a id for this cache
12
$id = '123';
13
 
14
// Set a few options
15
$options = array(
16
    'cacheDir' => '/tmp/',
17
    'lifeTime' => 3600
18
);
19
 
20
// Create a Cache_Lite object
21
$Cache_Lite = new Cache_Lite($options);
22
 
23
// Test if thereis a valide cache for this id
24
if ($data = $Cache_Lite->get($id)) {
25
 
26
    // Cache hit !
27
    // Content is in $data
28
    // (...)
29
 
30
} else { // No valid cache found (you have to make the page)
31
 
32
    // Cache miss !
33
    // Put in $data datas to put in cache
34
    // (...)
35
    $Cache_Lite->save($data);
36
 
37
}
38
 
39
?>
40
 
41
 
42
>>> Usage with blocks
43
(You can use Cache_Lite for caching blocks and not the whole page)
44
 
45
<?php
46
 
47
require_once('Cache/Lite.php');
48
 
49
$options = array(
50
    'cacheDir' => '/tmp/',
51
    'lifeTime' => 3600
52
);
53
 
54
// Create a Cache_Lite object
55
$Cache_Lite = new Cache_Lite($options);
56
 
57
if ($data = $Cache_Lite->get('block1')) {
58
    echo($data);
59
} else {
60
    $data = 'Data of the block 1';
61
    $Cache_Lite->save($data);
62
}
63
 
64
echo('<br><br>Non cached line !<br><br>');
65
 
66
if ($data = $Cache_Lite->get('block2')) {
67
    echo($data);
68
} else {
69
    $data = 'Data of the block 2';
70
    $Cache_Lite->save($data);
71
}
72
 
73
?>
74
 
75
 
76
A few examples of Cache_Lite_Output using :
77
-------------------------------------------
78
 
79
>>> Basic one :
80
 
81
<?php
82
 
83
require_once('Cache/Lite/Output.php');
84
 
85
$options = array(
86
    'cacheDir' => '/tmp/',
87
    'lifeTime' => 10
88
);
89
 
90
$cache = new Cache_Lite_Output($options);
91
 
92
if (!($cache->start('123'))) {
93
    // Cache missed...
94
    for($i=0;$i<1000;$i++) { // Making of the page...
95
        echo('0123456789');
96
    }
97
    $cache->end();
98
}
99
 
100
?>
101
 
102
>>> Usage with blocks :
103
(You can use Cache_Lite_Output for caching blocks and not the whole page)
104
 
105
<?php
106
 
107
require_once('Cache/Lite/Output.php');
108
 
109
$options = array(
110
    'cacheDir' => '/tmp/',
111
    'lifeTime' => 10
112
);
113
 
114
$cache = new Cache_Lite_Output($options);
115
 
116
if (!($cache->start('block1'))) {
117
    // Cache missed...
118
    echo('Data of the block 1 !<br>');
119
    $cache->end();
120
}
121
 
122
echo('<br><br>Non cached line !<br><br>');
123
 
124
if (!($cache->start('block2'))) {
125
    // Cache missed...
126
    echo('Data of the block 2 !<br>');
127
    $cache->end();
128
}
129
 
130
 
131
A few examples of Cache_Lite_Function using :
132
---------------------------------------------
133
 
134
>>> With function :
135
 
136
<?php
137
 
138
require_once('Cache/Lite/Function.php');
139
 
140
$options = array(
141
    'cacheDir' => '/tmp/',
142
    'lifeTime' => 10
143
);
144
 
145
$cache = new Cache_Lite_Function($options);
146
 
147
$cache->call('function_to_bench', 12, 45);
148
 
149
function function_to_bench($arg1, $arg2)
150
{
151
    echo "This is the output of the function function_to_bench($arg1, $arg2) !<br>";
152
    return "This is the result of the function function_to_bench($arg1, $arg2) !<br>";
153
}
154
 
155
?>
156
 
157
>>> With method :
158
 
159
<?php
160
 
161
require_once('Cache/Lite/Function.php');
162
 
163
$options = array(
164
    'cacheDir' => '/tmp/',
165
    'lifeTime' => 10
166
);
167
 
168
$cache = new Cache_Lite_Function($options);
169
 
170
$obj = new bench();
171
$obj->test = 666;
172
 
173
$cache->call('obj->method_to_bench', 12, 45);
174
 
175
class bench
176
{
177
    var $test;
178
 
179
    function method_to_bench($arg1, $arg2)
180
    {
181
        echo "\$obj->test = $this->test and this is the output of the method \$obj->method_to_bench($arg1, $arg2) !<br>";
182
        return "\$obj->test = $this->test and this is the result of the method \$obj->method_to_bench($arg1, $arg2) !<br>";
183
    }
184
 
185
}
186
 
187
?>
188
 
189
>>> With static method :
190
 
191
<?php
192
 
193
require_once('Cache/Lite/Function.php');
194
 
195
$options = array(
196
    'cacheDir' => '/tmp/',
197
    'lifeTime' => 10
198
);
199
 
200
$cache = new Cache_Lite_Function($options);
201
 
202
$cache->call('bench::static_method_to_bench', 12, 45);
203
 
204
class bench
205
{
206
    var $test;
207
 
208
    function static_method_to_bench($arg1, $arg2) {
209
        echo "This is the output of the function static_method_to_bench($arg1, $arg2) !<br>";
210
        return "This is the result of the function static_method_to_bench($arg1, $arg2) !<br>";
211
    }
212
}
213
 
214
?>
215
 
216
>>> IMPORTANT :
217
 
218
If you try to use Cache_Lite_Function with $this object ($cache->call('this->method',...)
219
for example), have a look first at :
220
 
221
http://pear.php.net/bugs/bug.php?id=660
222
 
223
 
224
A few examples of Cache_Lite_File using :
225
-----------------------------------------
226
 
227
<?php
228
 
229
$options = array(
230
    'cacheDir' => '/tmp/',
231
    'masterFile' => '/home/web/config.xml'
232
);
233
$cache = new Cache_Lite_File($options);
234
 
235
// Set a id for this cache
236
$id = '123';
237
 
238
if ($data = $cache->get($id)) {
239
 
240
    // Cache hit !
241
    // Content is in $data
242
    // (...)
243
 
244
} else { // No valid cache found (you have to make the page)
245
 
246
    // Cache miss !
247
    // Put in $data datas to put in cache
248
    // (...)
249
    $cache->save($data);
250
 
251
}
252
 
253
 
254
?>