插件结构所有插件被放置在“/hack/”目录下管理。一般插件包含以下几个文件:1、info.xml 插件默认安装基本信息2、admin.php 插件后台管理 程序页面3、index.php 插件前台运行 程序页面4、template 插件所需模板文件 此文件夹一般包含 admin.htm 和 index.htm5、sql.txt 创建插件需要的数据表
Sql.txt语法规则:CREATE TABLE `pw_tablename1` ( `lottery_id` smallint(6) unsigned NOT NULL, `user_uid` mediumint(8) unsigned NOT NULL DEFAULT '0', `draw_count` int(3) unsigned NOT NULL DEFAULT '0', KEY `lottery_id` (`lottery_id`,`user_uid`)) ENGINE=MyISAM;
CREATE TABLE ` pw_tablename2` ( `win_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT, `lottery_id` smallint(6) NOT NULL DEFAULT '0', `win_time` int(10) unsigned NOT NULL DEFAULT '0', `user_uid` mediumint(8) unsigned NOT NULL DEFAULT '0', `user_name` varchar(15) NOT NULL, `award_content` text NOT NULL, PRIMARY KEY (`win_id`), KEY `lottery_id` (`lottery_id`), KEY `user_uid` (`user_uid`)) ENGINE=MyISAM;
每一个创建语句末尾用“;”结束,create语句间有一行间隔,数据表的名称自定义创建。
Info.xml语法规则:
使用“<<<标记”输出大段的HTML
print << ... EOT;
含义: <<< 运算符,将由自定义分界符间的内容视为字符串,可对其间的变量做处理; EOT 自定义分界符,结束时必须位于行首; 在同一页面中使用
<<<标记 标记;
注:标记名为配对出现,同一页面中不允许同名出现两个以上标记名;另:配对标记名的结尾标记名应单独一行,前后均不允许输出字符...(例如空格等不可见但存在的字符..)。优点:这样可以输出大段的HTML 而且不用把里面的引号转义 就是不用 \" 这样自动替换里面的变量
常用函数与对象:
InitGP($keys, $method = null, $cvtype = 1) 从请求中获取$_GET或$_POST变量,并以key为变量名注册为全局变量所属文件:/require/common.php关联引用:/require/security.php [S::gp($keys, $method, $cvtype)]
Char_cv($mixed, $isint = false, $istrim = false)过滤数据,防xss攻击所属文件:/require/common.php关联引用:/require/security.php [S:: escapeChar($mixed, $isint, $istrim)]
PwStrtoTime($dateString)日期字符串转为时间戳所属文件:/require/common.php
get_date($timestamp, $format = null)格式化时间戳为日期字符串所属文件:/require/common.php
DB数据库操作类所属文件:/require/db_connects.php一般此文件不会直接被调用,而是通过“/require/db_mysql.php”或“/require/db_mysqli.php”里面包包含调用了db_connects.php文件。在“/require/sql_config.php”文件中的$database变量定义的值决定了使用那种数据库操作方式。->update(sql) 执行insert、update等更新性数据库操作的sql语句。->insert_id() 获取新插入记录的自动编号ID$xxx=$db->get_one(sql) 获取一条select记录集并返回给$xxx变量。$xxx=$db->query(sql) 执行一条sql语句并将执行结果返回给$xxx变量(select语句中最常用)。
adminmsg($msg,$jumpurl='',$t=2,$langtype='admin')弹出执行结果提示,常用形式如:adminmsg('活动名称不能为空!');所属文件:/admin/admincp.php
pwGetIp()获取客户端IP所属文件:/require/common.php
numofpage($count, $page, $numofpage, $url, $max = null, $ajaxCallBack = '') 生成分页html,以“&page=x”代表分页所属文件:/require/common.php
制作人:飞虎 无兄弟不编程!
====================================================
欢迎加QQ群进行更多交流:305397511 专注于php、mysql以及开源框架