HDWiki/框架简介

来自站长百科
跳转至: 导航、​ 搜索

HDWiki | HDWiki使用 | HDWiki插件

虽然[HDwiki]是一个开源wiki系统,并且代码简洁易懂,但如果想在系统上做做进一步开发还需要对框架有一个整体的认识。熟悉了HDwiki的框架以后完全可以独立出来做其他功能的开发,当做一个开源的PHP框架来使用。

概要介绍[ ]

HDwiki系统的框架遵循MVC结构可以用‘简单’、‘轻便’、‘明了’等字眼来形容。

纵览概括具有一下特性:

  • 基于MVC体系
  • 支持PHP4和PHP5
  • 超轻量级
  • 使用便捷的模版系统
  • 缓存机制
  • 支持插件开发
  • 丰富的lib类库包

程序执行流程[ ]

系统流程图如下:

HDMVC.jpg


H==Dwiki框架简介-程序执行流程== 从开始的index.php文件通过几个重要的文件概要看一下流程。

index.php文件实现了如下功能

  • 设置错误级别
  • 关掉魔法引用(数据库,文件过来的数据)
  • $starttime开始了,设置程序运行时间。
  • IN_HDwiki和HDwiki_ROOT常量定义
  • 包含一个文件'/model/HDwiki.class.php'
  • 实例化一个对象然后运行。

model/HDwiki.class.php

  • 得到MAGIC_QUOTES_GPC的值
  • 包含三个文件,
    1. config.php(本系统的基本信息数据库信息、编码等)
    2. string.class.php(类库中,对字符串的处理)
    3. base.class.php(系统的基础类,重点)

然后就是HDwiki类

构造函数执行了init_request()load_control()两个方法,实现了如下功能:

init_request()

  • 判断系统是否已经安装
  • 得到url$_SERVER['QUERY_STRING']
  • 把刚才得到的url进行相应的分析处理得到类名,方法名和参数,设定默认的类名,方法名。
  • PHP的几个全局变量($GLOBALS, $_ENV, $HTTP_GET_VARS, $HTTP_POST_VARS, $HTTP_COOKIE_VARS, $HTTP_SERVER_VARS, $HTTP_ENV_VARS)用unset释放掉将post、get放到本类的属性中。

load_control()

  • 将上一个方法得到的get、post进一步分析,包含对应的文件。

run()

  • index.php用到的方法,实例刚才的包含的类,运行相应的方法。
  • 根据url运行control里面的类的方法,此方法又调用了相应的model方法做了对数据的处理。
  • control方法完成变量和数据的处理后,就通过template类把模版编译进来,统一显示给用户。

base.class.php文件简介,包含了一堆文件:

  • require HDwiki_ROOT.'/version.php';
  • require HDwiki_ROOT.'/lib/file.class.php';
  • require HDwiki_ROOT.'/lib/util.class.php';
  • require HDwiki_ROOT.'/lib/hddb.class.php';
  • require HDwiki_ROOT.'/lib/template.class.php';
  • require HDwiki_ROOT.'/lib/cache.class.php';

本类文件是重点的一个文件类系统中所有的cotrol类都集成了这个类,初始化了所有的系统中使用到得属性和方法。包括,访问的ip、访问时间、初始化用户、数据库操作对象、缓存操作对象、插件列表、模版操作对象等。

到此关于框架的几个重点文件就都看到了。关于如何初始化数据库,如何初始化模版对象,自己可以看看相应的文件也都很容易理解。

参考来源[ ]

http://kaiyuan.hudong.com/

HDWIKI使用手册导航

HDWIKI安装

安装教程

HDWiki使用

前台使用说明 | 用户管理 | 模板管理 | 插件管理 | 数据库管理 | 站内统计 | Map功能 | 基本设置 | 站点设置 | 扩展设置 | 内容设置 | 友情链接及广告管理 | 分类管理 | 词条管理 | 数据调用 | 其他内容管理 | 礼品商店 | 图片及木马扫描 | Apache伪静态 | IIS伪静态 | Nginx伪静态 | 通用样式解读 | 样式使用规则 | 数据库结构说明 | 模板说明 | 函数类参考 |软件包结构 | HDWiki运行机制和原理 |编码规范 |MVC中的控制器 | 框架简介 | 高级应用 | MVC中的视图 | MVC中的模型 | HDWiki与PHPCMS整合 | HDWiki与PHPWind整合 | HDWiki与DEDECMS整合 | HDWiki与UCenter整合 | 可视化编辑使用说明 | 模块区版块制作教程 | 模版共享

HDWiki插件

插件开发指南 | 许愿墙插件开发实例 | 模版与标签 | 宣传中心 | 友情链接申请 | 数据调用 | 互动摸摸