• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Thinkphp 框架扩展之驱动扩展实例分析

    本文实例讲述了Thinkphp 框架扩展之驱动扩展。分享给大家供大家参考,具体如下:

    每个类库都可以设计自己的驱动,因此3.2版本的驱动目录没有独立出来,而是放到各个类库的命名空间下面,例如:Think\Log类的驱动放到 Think\Log\Driver 命名空间下面,Think\Db类的驱动放到了 Think\Db\Driver 命名空间下面。

    当然,这只是建议的位置,你完全可以根据项目的需要,把自己的驱动独立存放,例如: Home\Driver\Cache\Sae.class.php 则是一种把Cache驱动独立存放的方式(内置的核心类库都支持给驱动指定单独的命名空间)。

    缓存驱动

    缓存驱动默认位于Think\Cache\Driver命名空间下面,目前已经提供了包括APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache缓存方式的驱动扩展,缓存驱动必须继承Think\Cache类,并实现下面的驱动接口:

    方法说明 接口方法
    架构方法 __construct($options='')
    读取缓存 get($name)
    写入缓存 set($name,$value,$expire=null)
    删除缓存 rm($name)
    清空缓存 clear()

    下面是一个典型的缓存驱动类定义:

    namespace Think\Cache\Driver;
    use Think\Cache;
    /**
     * Test缓存驱动
     */
    class Test extends Cache {
      /**
       * 读取缓存
       * @access public
       * @param string $name 缓存变量名
       * @return mixed
       */
       public function get($name) {
        // 获取名称为name的缓存
       }
      /**
       * 写入缓存
       * @access public
       * @param string $name 缓存变量名
       * @param mixed $value 存储数据
       * @param integer $expire 有效时间(秒)
       * @return boolean
       */
       public function set($name, $value, $expire = null) {
        // 设置缓存
       }
      /**
       * 删除缓存
       * @access public
       * @param string $name 缓存变量名
       * @return boolean
       */
       public function rm($name) {
        // 删除名称为name的缓存
       }
     
      /**
       * 清除缓存
       * @access public
       * @return boolean
       */
      public function clear() {
        // 清空缓存
      }
    }
    
    

    注意:缓存驱动的有效期参数约定,如果设置为0 则表示永久缓存。

    如果要让缓存驱动支持缓存队列功能,需要在缓存接口的set操作方法设置成功后添加如下代码:

    if($this->options['length']>0) {
        // 记录缓存队列
        $this->queue($name);
     }
    
    

    要配置当前默认的缓存驱动类型可以使用CACHE_TYPE参数,例如:

    'CACHE_TYPE'=>'test'
    
    

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • thinkphp 框架数据库切换实现方法分析
    • Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
    • Thinkphp 框架配置操作之配置加载与读取配置实例分析
    • Thinkphp 框架基础之入口文件功能、定义与用法分析
    • Thinkphp 框架基础之源码获取、环境要求与目录结构分析
    • Thinkphp 框架扩展之应用模式实现方法分析
    • Thinkphp 框架扩展之Widget扩展实现方法分析
    • Thinkphp 框架扩展之行为扩展原理与实现方法分析
    • Thinkphp 框架扩展之标签库驱动原理与用法分析
    • 浅谈PHP之ThinkPHP框架使用详解
    上一篇:php与阿里云短信接口接入操作案例分析
    下一篇:Thinkphp 框架基础之源码获取、环境要求与目录结构分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Thinkphp 框架扩展之驱动扩展实例分析 Thinkphp,框架,扩展,之,驱动,