在MediaWiki中增加扩展程序Loops实现循环控制

来自Jamesqi
跳转至: 导航搜索

--James Qi 2009年11月29日 (日) 00:33 (CST)

  MediaWiki本来只是一种保存文本或者带一定格式控制文本的Wiki系统,但因为有一些程序而使之具有各种特殊功能。 Parser function是很常用的,包括一些算术运算expr+-*//and/or/not、逻辑判断if/ifexist/switch等,这个我是一开始用MediaWiki的时候就安装了这个扩展。

  后来在一些应用中还需要特别的功能,就又加入StringFunctions字符串处理扩展和VariablesExtension变量扩展程序,这样再配合DynamicPageList动态页面列表等其它扩展程序就能变得类似一个Basic的简单编程语言了,不过作为程序控制的时候显然缺少了循环控制的基本功能,于是前几天又去找了一个MediaWiki的Extension:Loops,可以让这套“编程语言”基本完整起来。

  其语法中支持#while、#dowhile、#loop、#forargs、#fornumargs几种循环控制办法,我试了一下,还比较方便安装和使用。注意默认是将循环的最大次数限制为100次,如果在实际使用中发现需要大于这个次数而系统提示错误的话,就可以修改这个100次到需要的次数,例如改为10000次。

  我最开始主要用于显示查号吧中的某些页面中要显示后缀为0000-9999的1万个号码,以前使用调用模板的方式来实现,但包含的数据量大,浏览起来页面速度较慢,对数据库也增加了负载,而采用循环来实现显示1万个号码时,我觉得应该可以减少对数据库的调用、加快网页展示速度。实际使用中功能可以很顺利实现,不过速度是否加快现在还没有明确的判别。

  显然这个功能对于需要进行特别控制的地方还是很有用的,我准备以后有时间的时候再专门将Loops应用到其他需要的Wiki网站中去。

标签:MediaWiki扩展程序Loops
相关内容:
  1. 2010-11-10 22:20:28 MediaWiki-1.15升级到1.16.0步骤
  2. 2010-11-04 22:52:58 开启MediaWiki的搜索建议(Search Suggest)功能
  3. 2010-11-03 11:26:02 MediaWiki-1.15.0升级到1.16.0中出现的问题
  4. 2010-11-02 23:52:05 MediaWiki-1.15准备升级到1.16
  5. 2010-10-22 22:29:00 想写一本关于MediaWiki的书,有人需要吗?
  6. 2010-09-20 11:33:29 直接操作MediaWiki的MySQL数据库
  7. 2010-09-04 00:20:09 修改模板对付MediaWiki及扩展程序的Bug
  8. 2010-08-31 00:47:49 分割大容量MediaWiki数据库
  9. 2010-07-08 23:08:13 用HTML和站间链接减小MediaWiki数据库记录
  10. 2010-06-12 12:27:01 将数据导入MediaWiki进行到底
  11. 2010-05-20 22:01:46 导入大量名录数据到MediaWiki网站的例子
  12. 2010-05-05 15:06:09 不懂PHP编程也可以修改MediaWiki程序
  13. 2010-04-03 22:45:40 MediaWiki导入XML数据中需要转义的字符
  14. 2010-04-02 00:38:01 用MediaWiki搭建多语言网站群框架
  15. 2010-04-01 16:05:48 在美国VPS上升级MediaWiki

关于“在MediaWiki中增加扩展程序Loops实现循环控制”的留言:

目前暂无留言

新增相关留言