每個類庫都可以設計自己的驅動,因此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)
rsmdels 刪除快取
rm($name)
程式設計客棧 清空快取
clear()
下面是乙個典型的快取驅動類定義:
namespace think\cache\driver;
use think\cache;
/** * test快取驅動
*/class test extends cache
/*** 寫入快取
* @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)
/*** 清除快取
* @access public
* @return boolean
*/public function clear()
}注意:快取驅動的有效期引數約定,如果設定為0 則表示永久快取。
如果要讓快取驅動支援快取佇列功能,需要在快取介面的set操作方法設定成功後新增如下**:
if($this->options['length']>0)
要配置當前預設的快取驅動型別可以使用cache_type引數,例如:
'cache_type'=>'test'
PHP之ThinkPHP框架(會話)
網頁會話即是實現頁面跳轉及資料傳遞,在web開發中,cookie和session的使用是極其重要的,get和post是最常使用的頁面間資料傳遞的方法,相對於php指令碼基礎,在thinkphp中對網頁會話都進行了上層封裝。指令碼的會話基礎 php的會話控制 頁面跳 在控制器或模板中要做頁面跳轉時使用...
thinkphp5框架擴充套件redis類方法示例
筆者在開發時發現,thinkphp5的自帶redis類方法,只有簡單的讀取快取 寫入快取的基本方法,遠不能滿足我們業務的需求。redis本身支援五種資料型別,string 字串 hash雜湊 list 列表 set 集合 zset 有序集合 redis的東西就不必再介紹了,接下來ekcacfo還是讓...
驅動框架之LED
1 驅動開發工程師 2 核心維護者 1 介面標準化 2 核心開發者應該盡量降低驅動開發者難度 1 驅動框架 2 核心維護者在核心中設計了一些 統一管控系統資源的 體系 3 一些特定的介面函式 一些特定的資料結構,這些是驅動框架的直接表現。1 drivers leds目錄 2 drivers leds...