星期五, 十月 27, 2006

xoops_getmodulehandler方法

XOOPS系统中,xoops_getmodulehandler()方法的函数定义如下:
function &xoops_getmodulehandler($name = null, $module_dir = null, $optional = false)
这个函数会去$module_dir目录下找到$name为名字的那个php文件。这个文件里面通常有两个类的定义。一个以XoopsBaseObject为其基类,一个以XoopsObjectHandler为其基类。XoopsObjectHandler是一个抽象类,构造函数的参数是一个数据库的对象--XoopsDatabaseXoops里面自然多数都是XoopsDB了。每编写一个新的对象都要实现XoopsObjectHandler中定义的方法。

XoopsBaseObject这个类里,定义了一个vars数组,这个类的很多方法是对这个数组的操作。initVar()是初始化数组元素的函数。初始化的时候要指定数据类型
function initVar($key, $data_type,
$value = null, $required = false,
$maxlength = null, $options = '')

define('XOBJ_DTYPE_TXTBOX', 1);
define('XOBJ_DTYPE_TXTAREA', 2)
define('XOBJ_DTYPE_INT', 3);
define('XOBJ_DTYPE_URL', 4);
define('XOBJ_DTYPE_EMAIL', 5);
define('XOBJ_DTYPE_ARRAY', 6);
define('XOBJ_DTYPE_OTHER', 7);
define('XOBJ_DTYPE_SOURCE', 8);
define('XOBJ_DTYPE_STIME', 9);
define('XOBJ_DTYPE_MTIME', 10);
define('XOBJ_DTYPE_LTIME', 11);
vars这个数组是一个关联数组,结构如下:
key=>array(          
value=>
required=>
data_type=>
maxlength=>
changed=>
options=>
)
xoops_getmodulehandler()会返回这个XoopsObjectHandler对象。

没有评论: