NAGIOSQL数据库结构简介

个人觉得如果了解一个系统的架构,应该先从数据库着手,因为数据库是灵魂,当然前提是这个系统用到了数据库。刚才说到了架构,其实我还真不知架构到底是个什么东东,也不知第一句话说的是否在理,因为我确实不懂开发,更没了解过某个系统的架构。嘿嘿。

先来个mysql数据库表的截图,见1.4

这个截图中的表就是nagiosql所用到的表,在二次开发过程中请尽可能的使用系统默认的表,因为这样可以最少的减小系统的出错机率,但是如果在表中加字段时请慎重。因为一个主要原因就是 :nagiosql是会写配置文件的,在写配置文件过程中,它会select * from table的,哈哈。(之后的文章,我会介绍解决的办法!)

下面简单介绍下圈起来的几个表,他们都是常用到的,tbl_是默认的前缀,tbl_lnk表示关联表:

NAGIOSQL源码结构简介

源码结构如下图:

注:其它未标注文件为自动生成的配置。

NAGIOSQL运行时

默认的nagiosql所展示的每个页面都是通过templates目录下的tpl.htm模板展现的。nagiosql通过一个叫做HTML_Template_IT的模板类去处理模板的加载、分析、配置、展现。不得不说这个模板处理的机制已经很古董了,除了思想与现在的模板使用基本一致外,我想这个类的使用现在应该已经被人遗忘的差不多了,因为它确实不是很主流,以至于各种找不到介绍与使用它的资料。如需想了解更多可访问http://pear.php.net/manual/en/package.html.html-template-it.php。

nagiosql首次运行的时候,index.php页面会首先加载functions/prepend_adm.php文件,并通过此页面中的session_start()方法设置session信息。而登录后的状态保存及权限控制也基本全是基于session进行的,这也完全归功于php强大的session功能。prepend_adm.php文件控制着全局的页面显示,它是全局模板(包括文件头,页脚)main.tpl.htm的数据源。functions/nag_class.php则控制着左侧菜单及插入、删除、更改页面的数据源。admin_master.tpl.htm模板页则控制着每个页面的主内容。

它们的对应关系的简要截图如下:

请朋友们转载时注明出处,因为我是为了更好的方便大家来和我讨论。谢谢了。

意见及建议:ruberzhu@qq.com

最新文章

  1. Mysql主数据库+备份数据库部署教程
  2. iOS富文本
  3. Python数据库备份脚本
  4. HTTP协议-----小白
  5. OneNote 2013 快捷键
  6. 便宜有好货:Oracle免费的便捷Web应用开发框架
  7. (转)MFC的一些宏的整理 (DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE)
  8. 通过注册表查看已安装 .NetFramework 版本
  9. Linux安装配置mongodb
  10. LeetCode_Unique Binary Search Trees
  11. python对真假的判断方式
  12. 201521123059 《Java程序设计》第一周学习总结
  13. 数据库的优化(表优化和sql语句优化)
  14. Linux使用CFSSL自签TLS证书
  15. github及git使用
  16. python黑帽子
  17. vuejs之v-if-ajax异步请求数据遇到的坑
  18. 【Hbase学习之四】Hbase表设计案例
  19. JavaSE习题 第七章 常用实用类
  20. [SCOI2005]栅栏

热门文章

  1. JVM--标记-清除算法Mark-Sweep
  2. 【学】React的学习之旅3 - 添加事件(onClick)
  3. flash flex 程序出现错误 Error #2032
  4. Druid数据库连接池配置
  5. SQLServer 创建dtsx包更新统计信息(示例)
  6. JNI相关知识
  7. [python实现设计模式]-5.迭代器模式-一起撸串嗨皮啦
  8. Python-3 语法
  9. sencha touch百度地图扩展
  10. (Hibernate进阶)Hibernate映射——一对一双向关联映射(六)