文档详情

HDwiki源码分析笔记.pdf

发布:2019-03-19约1.5万字共13页下载文档
文本预览下载声明
HDWIKI 源码分析笔记(0)——开篇 wiki 这个词我想大家都不陌生吧。网上开源的WIKI 程序也很多,但是大多有点高深了,一 般人不是很能理解,而HDwiki 相对其他程序来说比较简单,使用起来就像CMS 一样,这个 有点使它的普及程度相对较高。从今天开始我们来看看HDWIKI 的代码吧。 本篇文章是开篇,所以要大体讲HDWIKI 的概况。 HDWIKI 的站点: 首先,还是老规矩,自己先下下来一份,架设到本机,进入后台,了解一下它的功能。看看 它的请求URL 格式。 接下来就是看主要的几个目录结构啦。 /control 这目录里面存放的是HDWIKI 的总控和业务逻辑,什么页面显示啊,后台管理啊之 类的业务类逻辑都在这里 /data 这个目录里面放的是一些数据文件,比如:缓存、由模板生成的PHP 模板文件。 /lib 工具函数目录 /model 系统类目录,里面的类用于实现HDwiki 的功能,和程序运行流程的。 /view 模板目录 lib 目录和model 目录比较容易混淆,但是也很好区分,lib 目录放一些工具类和函数,比如 什么文件操作啦、缓存操作啦、模板操作啦之类的东西,model 目录比较核心啦关乎于应用 生命周期的类都在里面。 view 目录嘛,其实就是模板目录大家都喜欢用template 来命名,这里开发者用的view 这个 名字。 control 目录,是总控,比如首页要调用那些资源载入哪些模板之类的业务逻辑代码都在 control/index.php 里面。 从目录结构整体感觉,HDWIKI 倒不像是一个WEB 应用程序,而像个站点打包,目录结构没 有灵性(data 目录设计不错),而开发者对MVC 也有着自己的理解。 本篇就讲这么多了,让大家对HDWIKI 有个大体的认识吧。 HDWIKI 源码分析笔记(1)——进入index 上次我们只是简单地了解了一下HDWIKI 的信息和目录结构,从这篇文章开始我们就要进入 HDWIKI 的内部了。 HDWIKI 的入口为/index.php 这个文件,找到入口是代码分析的第一个环节,我们看看 index.php 里面都是什么东西。 error_reporting(0); set_magic_quotes_runtime(0); $mtime = explode( , microtime()); $starttime = $mtime[1] + $mtime[0]; define(IN_HDWIKI, TRUE); define(HDWIKI_ROOT, dirname(__FILE__)); include HDWIKI_ROOT./model/hdwiki.class.php; $hdwiki = new hdwiki(); $hdwiki-run(); 先是,设置报错信息,然后定义一些常量,载入hdwiki 的主要类hdwiki.class.php,然后创 建对象,并调用run 方法。 接下来大家知道该干什么吧,打开/model/hdwiki.class.php 吧。 require HDWIKI_ROOT./config.php; require HDWIKI_ROOT./lib/string.class.php; require HDWIKI_ROOT./model/base.class.php; 又加载了一些文件,第一个是配置文件,大家打开看一下吧,很简单,就是一些数据库连接 之类的配置信息啦,string.class.php 是字符串操作工具类, 这个没什么好说的,接下来看看 base.class.php 里面都啥。 打开base.class.php 里面又加载了一堆/lib 目录下的类,之前讲过/lib 下的类都是工具类, base.class.php 里面加载了几个常用类:文件操作、数据库操作、模板操作、缓存操作。其 中模板操作、缓存操作两个类是比较重要的。 而base 类里面都干啥的呢?看一下源代码大家就都明白了,里面进行数据库初始化的 init_db 方法,初始化缓存的方法,初始化模板系统等等方法,反正就是用来初始化的东西 啦。 我们回到加载base.class.php 的hdwiki.class.php 文件中,之前介绍了加载的几个类,还没有 看hdwiki 这个类,现在我们再来看看吧。 这个是比较核心的类,用于控制hdwiki 页面的整个生命周期的东西,比如根据请求加载总 控,请求执行等。 上面我们就把hdwiki
显示全部
相似文档