<?php
class
Cache{
const
C_FILE =
'/Runtime/'
;
private
$dir
=
''
;
const
EXT =
'.tpl'
;
private
$filename
=
''
;
public
function
__construct(
$dir
=
''
){
$this
->dir =
$dir
;
}
public
function
set(
$key
,
$data
,
$expire
= 0){
$this
->filename = dirname(
__FILE__
).self::C_FILE.
$this
->dir.
$key
.self::EXT;
if
(
file_exists
(
$this
->filename)){
$res
=
$this
->get(
$key
);
if
(md5(
$res
) == md5(json_encode(
$data
) ) ){
return
true;
}
}
if
(!
is_dir
(dirname(
$this
->filename))){
mkdir
(dirname(
$this
->filename),0777);
}
$source
=
fopen
(
$this
->filename,
'w+'
);
fwrite(
$source
,json_encode(
$data
));
fclose(
$source
);
}
public
function
get(
$key
){
if
(!
file_exists
(
$this
->filename)){
return
'缓存文件已经不存在'
;
}
else
{
$res
=
file_get_contents
(
$this
->filename);
}
return
$res
;
}
public
function
del(
$key
){
unlink(
$this
->filename);
}
}
$data
=
array
(
'name'
=>
'song'
,
'age'
=>20,
'sex'
=>
'man'
,
'favority'
=>
array
(
'apple'
,
'banana'
));
$cache
=
new
Cache();
$cache
->set(
'cache'
,
$data
);