Thinkphp 框架擴充套件之驅動擴充套件例項分析

2022-10-06 02:42:08 字數 1446 閱讀 5415

每個類庫都可以設計自己的驅動,因此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...