安装插件时,系统会检测是否存在install.php文件,如果存在,则自动调用该文件。
你可以把插件初始化代码写在里面。如果没有初始化代码,则可以不需要install.php文件。
卸载插件时,系统会检测uninstall.php文件,存在则调用 ,比如安装文件里面写了 创建表功能,卸载卸载文件里面可以写 删除表功能。
为了数据安全,如果不是很必要,请勿写删除表功能,避免表中有数据被删除后无法找回。
比如nokvm插件的安装程序:
// 【创建Nokvm镜像表】
if($ide->mysql->R($ide->mysql->M("SHOW TABLES LIKE 'lzsys_asset_nokvm_iso'"))<>1){
$ide->mysql->M("DROP TABLE IF EXISTS `lzsys_asset_nokvm_iso`;");
$ide->mysql->M("CREATE TABLE `lzsys_asset_nokvm_iso` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`api_id` int(11) DEFAULT NULL COMMENT '对应的渠道ID',
`isoname` varchar(255) DEFAULT NULL COMMENT 'name',
`isofile` varchar(255) DEFAULT NULL,
`status` int(11) DEFAULT NULL COMMENT '1=正常 2=禁用',
`create_time` int(11) DEFAULT NULL,
`app_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;");
}
比如 nokvm插件的卸载程序
// 【卸载时是否同时删除关联表】
$dell_ = false; // true = 删除 false = 不删除
// 【删除Nokvm镜像表】
if($dell_==true){
$ide->mysql->M("DROP TABLE lzsys_asset_nokvm_iso");
}