能夠到這裏來找資料:discuz資料庫php
首先要知道放插件的目錄是啥
緩存
source\pluginui
還要知道如何在後臺開啓插件編寫模式,即在
this
config\config_global.php文件中寫入插件
$_config['plugindeveloper'] = 1;debug
還要清楚插件的惟一標識符code
還要懂discuz的一些遊戲規則:一、全部表都寫一個類,放在table文件夾中,而且名稱和表名一致。全部的這些類都要繼承基類如class table_test_db extends discuz_tablehtm
在調用的時候能夠用C::t()方法。注意t()方法實際的做用是返回所調錶所在操做類後實例化對象,這樣就能夠調用操做該表的類中的方法了,挺繞了!對象
有了這些基礎你就能夠玩插件了。繼承
給出參考
<?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class table_test_db extends discuz_table{ public function __construct() { $this->_table = 'test_db'; $this->_pk = 'id'; parent::__construct(); } public function test(){ echo 'phpchina'; } }
<?php $data = C::t('#ppctest#test_db')->test(); debug($data);
作緩存舉例
if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class table_common_member extends discuz_table_archive { public function __construct() { $this->_table = 'common_member'; $this->_pk = 'uid'; $this->_pre_cache_key = 'common_member_'; parent::__construct(); }
其中$this->_pre_cache_key = 'common_member_';就是緩存字段
插件寫法拋磚事例:
<?php if(!defined('IN_DISCUZ')) { exit('Access Denied'); } class table_test_db extends discuz_table{ public function __construct() { $this->_table = 'test_db'; $this->_pk = 'id'; parent::__construct(); } public function add_name($name){ $this->insert(array( 'name'=>$name, )); } }
調用的寫法
<?php C::t('#ppctest#test_db')->add_name('phpchina');