词条信息

admin
超级管理员
版本创建者 发短消息   
简易百科旧版 >> HDwiki架构 >> 历史版本

最新历史版本 :HDwiki架构 返回词条



php嵌入式语言,简单也繁琐php和html嵌套着写,开发维护绝对能让人产生暴力冲动.所HDwiki采用了mvc模式,方便开发人员分工协作,提高开发效率,增强程序维护性和扩展性,而且还利用ControllerModel与View分离,降低们之间耦合度.


HDwiki,请求发过来(index.php?doc-view-1),调度控制器(hdwiki.class.php) 会根据请求决定由哪控制器哪方法去处理,本例doc控制器doview方法去处理,控制器文件便/control/doc.php,doc控制器doview方法负责处理业务部分(比数据校验,业务逻辑),调用模型(model)和视图(view).模型主要根据要求取数据,从数据库去,也从文件去,还从内存去,归根底句,根据业务逻辑处理数据.而视图要我们处理好数据显示出来,控制器要显示数据发给视图,视图根据要求显示样式,html代码,要显示数据处理成模板文件,显示出来.样请求便处理完了.能会有哥们要问了,能根据index.php?doc-view-1能知道控制器哪,方法哪?我们要说下关键词---URL


URL

HDwikiurl形式index.php?doc-view-1,index.php所有请求唯入口,query_string"-"分割,第doc表示调用控制器文件,路径/control/doc.php,第二"view"要调用控制器方法doview,面参数"1"(或者更多参数)均doview方法需要参数,顺序自定义,等等,url明明view,调用doview方法呢?hdwiki系统里从url知道要访问方法名称,control有方法想被url直接访问,也要区分开,所需要所有url集处理,能被直接访问统加do.


权限

HDwiki权限能独树帜,每用户否有访问权限完全根据url来判断.我们给用户分组,比方说管理员组,词条管理员组,普通用户组,匿名组等,每组都有坨访问url列表,哪组,只能访问些url,也些应用,每url都权限控制.能访问url都会被控制.当url大家都看,有部分有限制,需要做点点调整,比匿名用户看"请登录",登录用户看"退出",我们会辅助用户组id来判断.


标签

hdwiki标签功能能让站长和开发者更方便快捷添加要显示各种数据,基本表现形式页面添加例 {hdwiki:docnumber /}数据,便能显示总词条数.其原理也简单,根据标签正则匹配,调用相应方法去调用数据,当,每标签要调用方法都已经写好了全部保存model/tag.class.php,{hdwiki:docnumber /}例,当调用页面时,被解析成$_ENV['tag']->docnumber(),而段代码便去调用/model/tag.class.phpdocnumber方法,方法便调出总词条数数值.样,只要tag.class.php存方法,任何页面调用了.