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,$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程式設計有所幫助。