安装程序制作

最后更新于:2022-04-01 02:03:47

这里介绍的是模块开发好后的安装程序(通俗的讲,就是把你开发的程序,加入ShuipFCMS的模块管理,支持安装/卸载)。 基本的安装程序结构如下: ![2015-08-05/55c1976658f3d](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2015-08-05_55c1976658f3d.png) 解释: > Install 模块下的安装目录(注意大小写) Template 前台模板目录(注意:该目录下需要创建一个和当前模块一样的文件夹,然后才在下面放相应模板。)例如:Special模块,我们就要创建“Special\Install\Template\Special\”这个目录,然后才在里面放各个控制对应的模板。 Menu.php 这个后台菜单项,也是权限控制项。 Special.sql 这个数据库安装脚本,命名是当前模块名。如果没有数据库相关,可以不需要。 * * * * * 这就是最基本的安装程序。可以实现模块的安装。 这里我们介绍下Menu.php文件: ~~~ return array(     array(         //父菜单ID,NULL或者不写系统默认,0为顶级菜单         "parentid" => NULL,         //地址,[模块/]控制器/方法         "route" => "Search/Search/index",         //类型,1:权限认证+菜单,0:只作为菜单         "type" => 0,         //状态,1是显示,0不显示(需要参数的,建议不显示,例如编辑,删除等操作)         "status" => 1,         //名称         "name" => "搜索配置",         //备注         "remark" => "搜索配置!",         //子菜单列表         "child" => array(             array(                 "route" => "Search/Search/create",                 "type" => 1,                 "status" => 1,                 "name" => "重建索引",                 "child" => array(                      //这里是其它的子菜单                 )             ),             array(                 "route" => "Search/Search/searchot",                 "type" => 1,                 "status" => 1,                 "name" => "热门搜索",             ),         ),     ), ); ~~~ `如果您能开发模块,我相信您对上面的代码很了解它是干什么的吧~` > 同时系统还提供一个 D('Admin/Access')->isCompetence 方法,用于判断是否有权限! > 例如:D('Admin/Access')->isCompetence('Special/Index/index') 这个就是判断 Special模块下SpecialAction.class.php里的index方法是否有权限执行。 * * * * * 如果上面的安装方法已经满足你了,下面的更高级的用法,就可以不用看拉~ 模块安装是支持安装脚本的,也就是“`Special\Install\Install.class.php`” Install.class.php 文件,就是由开发者,自己来决定,要如何安装这个模块的一些流程,需要处理的东西。 安装脚本,必须实现两个方法,run 执行安装方法 end 安装完成回调方法。 一个例子: ~~~ namespace Search\Install;//这里的Search是你模块的目录名称,这点很重要 use Libs\System\InstallBase; class Install extends InstallBase { //安装前进行处理 public function run() { return true; } //基本安装结束后的回调 public function end() { return true; } } ~~~
';