首页 > php教程 > php手册 > 正文

php开发app接口之静态缓存

WBOY
发布: 2016-06-06 19:42:21
原创
1500 人浏览过

(1) 静态 缓存 这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。 ?php class File { private $_dir ; const EXT= 'php' ; public function __construct () { $this -_dir=dirname( __FILE__ ). '/files/' ; } public function cache

(1)静态缓存
这里技术的本质是我们将我们所需要的一些数据临时存在服务器的一些文件中。

<code><span><span><?php</span>
<span><span>class</span> <span>File</span>
{</span>
    <span>private</span> <span>$_dir</span>;
    <span>const</span> EXT=<span>'php'</span>;
    <span>public</span> <span><span>function</span> <span>__construct</span><span>()</span>
    {</span>
        <span>$this</span>->_dir=dirname(<span>__FILE__</span>).<span>'/files/'</span>;
    }
    <span>public</span> <span><span>function</span> <span>cacheDate</span><span>(<span>$key</span>,<span>$value</span>=<span>''</span>,<span>$path</span>=<span>''</span>)</span> 
    {</span>
        <span>$filename</span>=<span>$this</span>->_dir.<span>$path</span>.<span>$key</span>.<span>self</span>::EXT;
        <span>//将value值写入<strong>缓存</strong></span>
        <span>if</span>(<span>$value</span>!==<span>''</span>)
        {
            <span>//如果value值为null</span>
            <span>if</span>(is_null(<span>$value</span>))
            {
                <span>return</span> unlink(<span>$filename</span>);
            }
            <span>$dir</span>=dirname(<span>$filename</span>);
            <span>if</span>(!is_dir(<span>$dir</span>))
            {
                mkdir(<span>$dir</span>,<span>0777</span>);
            }
            <span>return</span> file_put_contents(<span>$filename</span>,json_encode(<span>$value</span>));
        }
        <span>if</span>(!is_file(<span>$filename</span>))
        {
            <span>return</span> <span>FALSE</span>;
        }
        <span>else</span>
        {
            <span>return</span> json_decode(file_get_contents(<span>$filename</span>),<span>true</span>);
        }
    }
}</span></span></code>
登录后复制

这里封装了一个类,下面是测试代码

<code><span><span><?php</span>
<span>require_once</span> <span>'./File.php'</span>;
<span>$data</span>=<span>array</span>(
    <span>'id'</span>=><span>1</span>,
    <span>'name'</span>=><span>'singwa'</span>,
    <span>'type'</span>=><span>array</span>(<span>4</span>,<span>5</span>,<span>6</span>),
    <span>'test'</span>=><span>array</span>(<span>1</span>,<span>45</span>,<span>67</span>=><span>array</span>(<span>123</span>,<span>'tsysa'</span>)),
);
<span>$file</span>=<span>new</span> File();
<span>//增加<strong>缓存</strong>的方式 这样会将指定的数据放入指定文件夹中</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>),<span>$data</span>)
{
    var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
    <span>echo</span> <span>"success"</span>;
}
<span>else</span> 
{
    <span>echo</span> <span>"error"</span>;
}
<span>//取出<strong>缓存</strong>的方式</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>))
{
    var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
    <span>echo</span> <span>"success"</span>;
}
<span>else</span> 
{
    <span>echo</span> <span>"error"</span>;
}
<span>//删除<strong>缓存</strong>的方式</span>
<span>if</span>(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>),<span>$value</span>=<span>null</span>)
{
    var_dump(<span>$file</span>->cacheDate(<span>'index_mk_cache'</span>));
    <span>echo</span> <span>"success"</span>;
}
<span>else</span> 
{
    <span>echo</span> <span>"error"</span>;
}</span></span></code>
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板