当前位置: 首页 > 后端技术 > PHP

ModStartCMS模块开发

时间:2023-03-29 22:13:06 PHP

模块开发模块开发介绍开发模块前,请自行在模块市场安装《开发示例程序》。这个例子几乎涵盖了所有的模块开发规范和技巧。开发示例程序:https://modstart.com/m/Demo开发示例程序会持续更新,请随时查看最新的开发示例程序。模块开发入门第一步是下载模块开发助手。模块开发助手可以大大提高模块开发的效率。通过https://modstart.com/m/ModuleDeveloper下载它。第二步,使用模块开发助手创建模块。访问系统管理→模块开发助手,通过常用工具创建模块。第三步,完成模块代码开发。第二步将根据填写的模块基本信息完成模块的创建,并生成一些示例代码,通过修改完善模块代码,完成第四步模块功能开发,将模块打包上传至模组市场。如果您开发的模组需要上传分享到模组市场,请按照以下步骤完成模组分享。注册ModStart账号:访问https://modstart.com完成账号注册实名认证:在用户中心完成用户实名认证创建模块:认证完成后,在用户中心访问开发者中心完成模块的创建Package上传:返回本地登录ModStart账号,在对应开发的模块中点击PublishModuleReviewandLaunch:发布成功后,模块需要在后台审核,模组审核通过后可在模组市场展示。模块目录介绍模块详细目录介绍SomeName├──Admin→后台管理├──Api→APIInterface├──Constant→Constant├──Core→CoreResources│└──ModuleServiceProvider.php→ModuleCoreServiceProvider,会自动系统加载├──Docs→模块文档目录│├──doc→模块使用文档│├──模块→模块描述文档│└──release→模块发布日志├──Migrate→模块数据库迁移文件├──Util→ModuleToolkit├──View→ModuleView├──Web→ModuleFrontDesk├──config.json→ModuleConfigurationFile└──resources→ModuleOtherResourceFileConfigurationFileconfig.json配置文件是合法的JSON,Do不包含JSON中的注释,下面会包含JSON中的注释参数的含义{//模块的唯一标识,请使用SomeExampleName首字母的驼峰命名方式//如果你的模块需要发布模块市场后面在开发中请先创建一个模块,防止和别人冲突"name":"Demo",//模块文字说明"titlee":"开发示例程序",//模块类型,可以包含多个,目前支持以下取值//PC:电脑版//Mobile:手机H5//App:手机APP//MiniApp:小程序//WxMiniApp:微信小程序//Theme:模板主题//Admin:后台管理"types":["PC","Mobile"],//当前模块版本号,请使用主版本号。次版本号。repairversionnumberTheformat//对于大迭代,请升级主版本号,对于常规二代升级,对于小版本号,对于bug修复,升级修复版本号"version":"1.2.0",//模块依赖,支持多个"require":[//依赖任意版本的Vendor模块"Vendor",//依赖任意版本的Abc模块"Abc:*",//依赖Abc模块的版本大于等于1.1.0"Abc:>=1.1.0",//依赖大于1.1.0版本的Abc模块"Abc:>1.1.0",//依赖小于o的Abc模块版本r等于1.1.0"Abc:<=1.1.0",//依赖Abc模块版本小于1.1.0"Abc:<1.1.0",//依赖Abc模块版本1.1.0,其他版本不匹配"Abc:==1.1.0"],//模块依赖的ModStart核心版本,可以通过\ModStart\ModStart::$version获取ModStart核心版本号"modstartVersion":"*",//模块作者"author":"ModStart",//模块描述"description":"ModStart开发示例程序",//模块可以配置项,配置信息可以在程序中通过以下方法获取//\ModStart\Module\ModuleManager::getModuleConfig('模块名称','配置名称')"config":{//定义一个名称为testText的文本参数"testText":[["text","textparameter"]],//定义一个名为testEnable的开关"testEnable":[["switch","functionenable"]],//定义A名为testSelect的下拉选项,包含两个选项"testSelect":[["select","下拉选择"],["options",{"key1":"option1","key2":"option2"}]]}}Web前台开发代码Routes和Controller应该放在Web目录下Admin后台开发前台代码Routes和Controller应该放在Admin目录下。注册后台菜单配置在Core/ModuleServiceProvider.php中,通过以下方法注册菜单:[['title'=>'First-levelmenu','icon'=>'tools','sort'=>150,'children'=>[['title'=>'secondarymenu','url'=>'\XxxController@index',]]]]];});ModStart系统按照相同的规则合并菜单如下:一级菜单(标题+图标+排序)二级菜单(标题)菜单使用规范我们强烈建议您按照系统推荐的方式组织菜单,以避免安装多个系统菜单的用户在模块之后变得混乱。一级菜单可插入大型业务功能模块,对模块涉及的业务功能进行管理。素材和??工具模块使用二级或三级菜单。菜单按照功能目录内容从上到下使用频率降序排列(排序值)图标(icon)用户管理100users用户管理模块\--用户管理\--...素材管理200description系统基础素材管理\--导航配置\--文章管理\--友情链接\--...功能设置300tools模块业务功能相关设置\--用户设置\--...系统设置400cog技术功能相关设置\--基础配置\--短信设置\--支付设置\--...背景authority500user-oadministrator,role,managementlog\--管理角色\--管理账号\--管理日志运维工具600magic-wand系统运维阶段功能模块\--...系统管理700code-altSystem功能管理(通常在开发阶段使用)\--模块管理Api接口开发前端代码Routes,Controller要放在Api目录下。OpenApi开放接口开发前端代码Routes和Controller应该放在OpenApi目录下。开发技巧Api接口代码复用为了最大限度地实现敏捷开发,Api代码可以在Web、OpenApi、Admin中最大程度的复用。