ryxeo-glpi-git / lib / cache_lite / docs / examples @ b67d8923
Historique | Voir | Annoter | Télécharger (4,55 ko)
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 |
?> |