Thinkphp 框架擴(kuò)展之驅(qū)動(dòng)擴(kuò)展實(shí)例分析
本文實(shí)例講述了Thinkphp 框架擴(kuò)展之驅(qū)動(dòng)擴(kuò)展。分享給大家供大家參考,具體如下:
每個(gè)類庫都可以設(shè)計(jì)自己的驅(qū)動(dòng),因此3.2版本的驅(qū)動(dòng)目錄沒有獨(dú)立出來,而是放到各個(gè)類庫的命名空間下面,例如:Think\Log類的驅(qū)動(dòng)放到 Think\Log\Driver 命名空間下面,Think\Db類的驅(qū)動(dòng)放到了 Think\Db\Driver 命名空間下面。
當(dāng)然,這只是建議的位置,你完全可以根據(jù)項(xiàng)目的需要,把自己的驅(qū)動(dòng)獨(dú)立存放,例如: Home\Driver\Cache\Sae.class.php 則是一種把Cache驅(qū)動(dòng)獨(dú)立存放的方式(內(nèi)置的核心類庫都支持給驅(qū)動(dòng)指定單獨(dú)的命名空間)。
緩存驅(qū)動(dòng)
緩存驅(qū)動(dòng)默認(rèn)位于Think\Cache\Driver命名空間下面,目前已經(jīng)提供了包括APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache緩存方式的驅(qū)動(dòng)擴(kuò)展,緩存驅(qū)動(dòng)必須繼承Think\Cache類,并實(shí)現(xiàn)下面的驅(qū)動(dòng)接口:
方法說明 | 接口方法 |
---|---|
架構(gòu)方法 | __construct($options='') |
讀取緩存 | get($name) |
寫入緩存 | set($name,$value,$expire=null) |
刪除緩存 | rm($name) |
清空緩存 | clear() |
下面是一個(gè)典型的緩存驅(qū)動(dòng)類定義:
namespace Think\Cache\Driver; use Think\Cache; /** * Test緩存驅(qū)動(dòng) */ class Test extends Cache { /** * 讀取緩存 * @access public * @param string $name 緩存變量名 * @return mixed */ public function get($name) { // 獲取名稱為name的緩存 } /** * 寫入緩存 * @access public * @param string $name 緩存變量名 * @param mixed $value 存儲(chǔ)數(shù)據(jù) * @param integer $expire 有效時(shí)間(秒) * @return boolean */ public function set($name, $value, $expire = null) { // 設(shè)置緩存 } /** * 刪除緩存 * @access public * @param string $name 緩存變量名 * @return boolean */ public function rm($name) { // 刪除名稱為name的緩存 } /** * 清除緩存 * @access public * @return boolean */ public function clear() { // 清空緩存 } }
注意:緩存驅(qū)動(dòng)的有效期參數(shù)約定,如果設(shè)置為0 則表示永久緩存。
如果要讓緩存驅(qū)動(dòng)支持緩存隊(duì)列功能,需要在緩存接口的set操作方法設(shè)置成功后添加如下代碼:
if($this->options['length']>0) { // 記錄緩存隊(duì)列 $this->queue($name); }
要配置當(dāng)前默認(rèn)的緩存驅(qū)動(dòng)類型可以使用CACHE_TYPE參數(shù),例如:
'CACHE_TYPE'=>'test'
更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。
希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。
- thinkphp 框架數(shù)據(jù)庫切換實(shí)現(xiàn)方法分析
- Thinkphp 框架配置操作之動(dòng)態(tài)配置、擴(kuò)展配置及批量配置實(shí)例分析
- Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
- Thinkphp 框架基礎(chǔ)之入口文件功能、定義與用法分析
- Thinkphp 框架基礎(chǔ)之源碼獲取、環(huán)境要求與目錄結(jié)構(gòu)分析
- Thinkphp 框架擴(kuò)展之應(yīng)用模式實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之Widget擴(kuò)展實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之行為擴(kuò)展原理與實(shí)現(xiàn)方法分析
- Thinkphp 框架擴(kuò)展之標(biāo)簽庫驅(qū)動(dòng)原理與用法分析
- 淺談PHP之ThinkPHP框架使用詳解
相關(guān)文章
thinkphp驗(yàn)證碼的實(shí)現(xiàn)(form、ajax實(shí)現(xiàn)驗(yàn)證)
這篇文章主要介紹了thinkphp驗(yàn)證碼的實(shí)現(xiàn)(form、ajax使用驗(yàn)證)的相關(guān)資料,需要的朋友可以參考下2016-07-07Zend Framework框架教程之Zend_Db_Table_Rowset用法實(shí)例分析
這篇文章主要介紹了Zend Framework框架教程之Zend_Db_Table_Rowset用法,結(jié)合實(shí)例形式分析了Zend_Db_Table_Rowset操作結(jié)果集的相關(guān)技巧,需要的朋友可以參考下2016-03-03Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法分析
這篇文章主要介紹了Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法,結(jié)合實(shí)例形式分析了在Laravel框架配置Memcached緩存及相關(guān)使用方法,需要的朋友可以參考下2016-10-10laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法
今天小編就為大家分享一篇laravel 操作數(shù)據(jù)庫常用函數(shù)的返回值方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10從零開始學(xué)YII2框架(五)快速生成代碼工具 Gii 的使用
用過Yii1框架的Coder都知道,Gii可以為你快速生成代碼,也就是說搭建一個(gè)可以增刪改查的WebApp可能一行代碼都不用寫。上次介紹了如何安裝Yii框架,本次介紹一下如何使用gii工具快速實(shí)現(xiàn)CRUD功能。2014-08-08eWebEditor v3.8 商業(yè)完整版 (PHP)
eWebEditor v3.8 商業(yè)完整版 (PHP)...2006-12-12淺談laravel5.5 belongsToMany自身的正確用法
今天小編就為大家分享一篇淺談laravel5.5 belongsToMany自身的正確用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10