将项目中某些常用设置做成配置项
我们在用开源软件开发一个项目时,有的内容自己也不是很理解,开放给用户不太好,但是又不想删除相关功能,这个时候只需要做个开关,将相关掉将功能隐藏掉,在需要时再打开,这里以zabbix登陆页面底部链接做成配置项
1.设计数据表bw_config,将底部链接数据记录下来
2.写一个文件bw_config.php,将数据做成php超全局变量
<?php //连接数据库方式 $conn = new mysqli('127.0.0.1', 'zabbix', '123456', 'zabbix'); if ($conn -> connect_errno) { printf("Connect failed: %s\n", $conn->connect_error); exit(); } //查询代码 $sql = "select * from zabbix.bw_config"; $query = $conn->query($sql); if($query->num_rows>0){ while($row=$query->fetch_assoc()){ $name=$row["name"]; $sVal=$row["value"]; //$ifNum=$row["ifNum"]; $GLOBALS[$name]=$sVal; ?>
3.写一个公共函数,放在公共页面中(越公共越好)
//此函数用于全局调用,我选择的文件为/usr/share/zabbix/include/config.ini.php,写在最下面就好 function bw_GetConfig($varName, $varType) { if(isset( $GLOBALS[$varName])){ if($varType==0) return $GLOBALS[$varName]; else return number_format($GLOBALS[$varName]); } else { if($varType==0) return(""); else return(0); } }
4.在需要修改的页面引用公共函数和bw_config.php文件,根据数据判断该项是否展示
我选择的是底部链接,修改文件为/usr/share/zabbix/include/classes/helpers/CBrandHelper.php
//我选择的是底部链接,修改文件为/usr/share/zabbix/include/classes/helpers/CBrandHelper.php //在开头加载配置文件,设置我们需要的超全局变量 require_once dirname(__FILE__).'/../../../bw_config.php'; //在适当的位置调用全局函数,获取我们想要的变量 $comp_name=bw_GetConfig('comp_name',0); $comp_url=bw_GetConfig('comp_url',0); if($comp_name!="" && $comp_url!=""){ $footer = self::getValue( 'BRAND_FOOTER', [ //(new CLink('呵呵哒', 'http://www.baidu.com.cn/')) (new CLink($comp_name, $comp_url)) ->addClass(ZBX_STYLE_GREY) ->addClass(ZBX_STYLE_LINK_ALT) ->setAttribute('target', '_blank') ->setAttribute('style','text-decoration:none;') ] ); } else { $footer = self::getValue( 'BRAND_FOOTER',[ ] );
好了,大功告成,现在只需要我们改变数据库,就能改变页面数据了
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix