您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何擴展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, $value, $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 框架和驅動這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。