Hdwik系统分析.pdfVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hdwik系统分析.pdf

欢迎大家与我交流,Email:lcq.1983@ 林超旗 hdwiki系统分析 引言 说实话,以前对wiki真的了解很少,常用的也就是百度词条,但不知道它就是wiki。对wiki 特别是hdwiki是通过phpchina组织的一次技术交流活动了解的,记得当时hdwiki的开发人员 说4.0是完全面向对象的,而且不久就会发布,当时就在想等这个版本发布后要学习一下,在8 月20多号终于下载到这个版本的hdwiki了,甚是高兴。 解开压缩包安装后hdwki的目录结构如下图所示,control里面放的是系统的控制器类,data 里面放的有缓存文件,编译后的视图文件等,lang里放的是语言包,lib里面放的是系统所用的 类库,model中放的是系统的基类,核心类,系统的模型(这样组织目录结构似乎不太合理), plugins里面放的是系统的插件,view里面放的是系统的视图文件。config.php则是系统的配置 文件,而index.php则是系统的入口文件。系统的目录结构大致就这么介绍下,接下来会把重 点放在系统的核心文件分析上,然后是如何利用系统的核心进行系统的开发,最后会介绍系统 目前存在的不足和一些建议。 系统目录结构 1. 1. 11..系统核心文件分析 index.php index.php 1.1入口文件iinnddeexx..pphhpp分析 hdwiki的入口文件是index.php,入口文件一般会比较简洁,hdwiki同样如此,我们可以看 一下这个文件的内容: error_reporting(E_ERROR| E_WARNING| E_PARSE ); set_magic_quotes_runtime(0); $mtime = explode( , microtime()); $starttime = $mtime[1]+ $mtime[0]; define(IN_HDWIKI,TRUE); 1/19 欢迎大家与我交流,Email:lcq.1983@ 林超旗 define(HDWIKI_ROOT,dirname(__FILE__)); include HDWIKI_ROOT./model/hdwiki.class.php; $hdwiki = new hdwiki(); $hdwiki-run(); 这个文件的前两行分别是设置出错误显示类型和关闭magic quotes,接下来是脚本开始时 间的设置,然后是IN_HDWIKI 和系统根路径的设置,接下来就是引入重要的hdwiki类文件,实 例化并启动程序了。 所以,要分析hdwiki系统,我们就不得不看看hdwiki.class.php这个类文件了,mvc 框架 都需要一个调度控制器,用于确定执行哪个控制器的哪一个方法,当然也要对传入的相应参数 做一定的处理了;除了调度功能,一个好的mvc框架在呈现视图前当然还要进行权限判断,设 置其它的公共变量,生成缓存,静态页等,尤其hdwiki是否具备这些功能呢,我们就具体看看 hdwiki.class.php吧! hdwiki.class.php hdwiki.class.php 1.2核心类hhddwwiikkii..ccllaassss..pphhpp分析 打开这个文件,我们就可以看到首先是入侵处理 !defined(IN_HDWIKI) exit(Access Denied); 然后就是设置magic quotes的启用状态 define(MAGIC_QUOTES_GPC,get_magic_quotes_gpc()); 或许你会说,在入口文件中我们不是关闭了 magic quotes 吗?我们确实执行了 set_magic_quotes_runtime(0);但这个函数在执行成功时返回true,失败时返回false,我们也 不能确定是否执行成功了,所以在此调用get_magic_quotes_gpc()来确定magic quotes是否开 启还是很有必要的。接下来就是引入我们所需的库文件了,我们且不说各个库文件有何作用, 暂且从文件名了解其作用吧! requi

文档评论(0)

wuyouwulu + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档