导航
应用开发首页
系统使用
插件使用
米拓商城
模板制作
应用开发
系统开发
http://doc.metinfo.cn/yy/
1
应用开发首页
3.系统调用
接口、插件类与函数
3.4.插件
更新时间:2020-01-19 10:47:17
作者:米拓建站
是可以在某个类的某个方法下插入代码执行的控件。可以让编码人员在系统插件所指定的地点,通常是某个类的某个方法执行的某个阶段后插入一段自己的代码。用于处理一些事务。 创建步骤 1、在应用的目录下新建“plugin/plugin*应用系统名.class.php”。 2、在里面新建一个类“plugin*应用系统名”;。 3、在这个类里面新建方法,方法名称为“插件系统名称”。 实例代码: ``` defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function doweb(){ global $_M; echo 'doweb'; } public function doadmin(){ global $_M; echo 'doadmin'; } } ``` 4、在表met_app_plugin写入调用信息后,系统会自动在插件处调用应用的插件方法。 注意事项: 在统插件中只能使用DB类与$_M数组两个系统调用,其他的类,方法等系统调用无法使用。 ###系统插件 doweb插件: 插件系统名称为doweb,可以在系统二级基类web.class.php前台基类初始化的后插入代码。doweb插件,提供3个特殊变量,通过修改这三个变量内容,可以改变前台页面的效果。 1、 $_M[‘html_plugin’][‘head_script’],可以在页面前插入html代码,一般用来添加JS代码。写成: ``` $_M['html_plugin']['head_script'].=""; ``` 2、$_M[‘html_plugin’][‘foot_script’]名可以在页面底部插入html代码(前,但是会被包在底部代码的DIV里面)。一般也是用来添加JS代码。写成: ``` $_M['html_plugin']['foot_script'].=""; ``` 3、$_M[‘html_plugin’][‘top_script’],此变量是一个数组,可以在页面顶部的语言切换页面插入HTML代码。一般用来插入一个a标签的链接。写成: ``` $_M['html_plugin']['top_script'][] = ""; $_M['html_plugin']['top_script'][] = ""; ``` - doend插件: 插件系统名称为doweb,可以在系统二级基类web.class.php前台基类的析构函数中执行插件代码,调用该插件可获取前台页面缓存数据。 - doadmin插件: 插件系统名称为doadmin,可以在系统二级基类admin.class.php后台基类初始化的后插入代码。 - doadminend插件 插件系统名称为doadminend,可以在系统二级基类admin.class.php后台基类析构函数中执行插件代码。 ###会员插件介绍 - doregister插件: ``` 作用: 账号同步注册。 传入值: 注册的账号、密码、绑定的邮箱所组成的一维数组。 返回值: NULL(表示插件不存在),false(注册失败),ture(注册成功)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function doregister($user){ global $_M; dump($user); //$user[0] 注册账号 //$user[1] 密码 //$user[2] 邮箱 $result=$this -> check($user); //$result=NULL 说明插件不存在 //$result=false 说明注册失败 //$result=ture 说明注册成功 return $result; } } ``` - doregistert插件: ``` 作用: 注册成功后,将用户信息存储到插件表内。 传入值: 用户id、用户名、密码、绑定的邮箱组成的一维数组。 返回值: 无。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function doregisterf($user){ global $_M; dump($user); //$user[0] 用户id //$user[1] 用户名 //$user[2] 密码 //$user[3] 邮箱 } } ``` - doregisterf插件: ``` 作用: 当插件内注册失败时,将注册的用户信息数据从系统内删除。 传入值:用户名、密码、绑定的邮箱组成的一维数组。 返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douseredit($user){ global $_M; dump($user); //$user[0] 用户名 //$user[1] 密码 //$user[2] 邮箱 } } ``` - douseremail插件: ``` 作用: 修改用户绑定的邮箱。 传入值:用户id、新邮箱所组成的一维数组. 返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douseredit($user){ global $_M; dump($user); //$user[0] 用户id //$user[1] 邮箱 $result = $this -> check($user); //$result=NULL 说明插件不存在 //$result=false 说明注册失败 //$result=ture 说明注册成功 return $result; } } ``` - douserpass插件: ``` 作用: 修改密码。 传入值:修改类型、用户id、旧密码、新密码所组成的一维数组。(说明:修改类型的值为1时表明可以忽略旧密码进行修改) 返回值: NULL(表示插件不存在),false(修改失败),ture(修改成功)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douserpass($user){ global $_M; dump($user); //$user[0] 修改类型 //$user[1] 用户id //$user[2] 旧密码 //$user[3] 新密码 $result = $this ->chenk($user); //$result=NULL 说明插件不存在 //$result=false 说明注册失败 //$result=ture 说明注册成功 return $result; } } ``` - dousedel插件: ``` 作用: 删除用户。 传入值:所有要删除用户的id组成的一维数组。 返回值:NULL(表示插件不存在),false(删除失败),ture(删除成功)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douserdel($userlist){ global $_M; dump($userlist); //$userlist[0] 用户id //$userlist[1] 用户id $result = $this ->check($userlist); //$result=NULL 说明插件不存在 //$result=false 说明删除失败 //$result=ture 说明删除成功 return $result; } } ``` - douserok插件: ``` 作用: 检测注册账号的有效性。 传入值:注册的账号。 返回值:NULL(表示插件不存在),false(账号在插件用户表内重复,不可用),ture(表示账号可用)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douserok($username){ global $_M; dump($username) = ZhangSan; $result =$this ->check($username); //$result=NULL 说明插件不存在 //$result=false 说明账号在插件用户表内重复,不可用 //$result=ture 说明账号可用 return $result; } } ``` - doemail插件: ``` 作用: 检测邮箱的有效性。 传入值:注册的邮箱。 返回值: NULL(表示插件不存在),false(邮箱在插件用户表内重复,不可用),ture(表示邮箱可用)。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function doemail($email){ global $_M; dump($email) = 123456@qq.com; $result = $this -> check($email); //$result=NULL 说明插件不存在 //$result=false 说明邮箱在插件用户表内重复,不可用 //$result=ture 说明邮箱可用 return $result; } } ``` - douserlogin插件: ``` 作用: 同步登陆。 传入值:登录类型、账号、密码所组成的一维数组。(说明:登录类型值为md5时代表登录方式是通过存入的cooike进行登录验证) 返回值:无。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douserlogin($user){ global $_M; dump($user); //$user[0] 登录类型 //$user[1] 账号 //$user[2] 密码 } } ``` - dologout插件: ``` 作用: 同步登陆退出。 传入值:无 返回值:无。 实例代码: defined('IN_MET') or exit('No permission'); class plugin_myapp{ public function douserlogin($user){ global $_M; } ```
上一篇
: 3.3.接口
下一篇
: 3.5.类与函数
文档中心
米拓学堂
帮助中心
在线交流