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