从head.htm来看uchome的实现过程

来源:互联网 发布:intouch组态软件 编辑:程序博客网 时间:2024/05/17 23:02

Head.htm位于安装目录/template/default下,其基本用于每个应用页面的头部,用于显示title、页面顶部以及页面左侧的应用链接,除了title之外的功能图如下。

由于每一个应用页面都将此文件在开始时进行引用,这就确保上述内容在每一个页面中都有显示。从用户的角度来看,能够提高用户的使用体验。

对于基于uchome的二次开发,需要添加的应用,只需在此文件中参照内容加入链接代码,再创建相应的应用文件,即可实现。例如,热闹这一应用的链接如下:<li><img src="image/app/topic.gif"><ahref="space.php?do=topic">热闹</a></li>。如果需要在热闹后添加自己的应用,可以模仿上述代码写入自己的功能名称,然后通过<a href="space.php?do=XXXX">将此应用链接到/space.php文件中,并通过GET方式将XXXX传递到space.php中,space.php这个文件的作用是:判断XXXX这个应用在space.php中是否注册过,如果已经注册,那么就转向注册过的文件./source/space_XXXX.php。参照这个过程,我们添加自己的应用分三步:一、在允许动作$dos数组中加入XXXX应用;二、编写./source/space_XXXX.php代码;三、在./template/default/下编写space_XXXX.htm代码。

./source/space_XXXX.php是的作用是处理这一应用所涉及的数据,然后将这些数据赋值给全局变量后通过templatespace_XXXX_view)进行处理。Template()函数先到缓存中查找./data/tpl_cache/template_default_space_XXXX.php这个文件是否找到,找到即运行此文件;如果没有找到的话,就到将刚才第三步在./template/default/下所编写space_XXXX.htm代码通过parse_template()函数进行解析,将结果存成./data/tpl_cache/template_default_space_XXXX.php并执行。

这样就完成了一个应用的实现。

根据上述原理,应用的开发就在于:sourcephp代码的编写以及template/default/htm代码的编写,前者用于数据处理,后者用于显示页面。Uchome对于php代码,有如下全局变量进行值传递:

1$_SC:系统全局配置     

2$_SCONFIG:个人空间配置

3$_SCOOKIECookie信息     

4$_COOKIE:Cookie信息 

5$_SGLOBAL:各类全局信息 

6$_SN:昵称信息    

7$_TPL:未知   

8$_SBLOCK:未知   

其还有一系列包括用于安全检查在内的common function来进行数据处理,所以要写好一个功能应用,对上述内容的了解是必不可少的。

Uchome有一套自己的htm语法,是在php的基础上自行定义并通过自己开发的parse_template()函数将htm文件编译成php文件后执行的。这样做的作用据说在于将contrlview分离,由于还没有深入了解,暂时还未发现其好处。

原创粉丝点击