出于秩序的原因,模块通过位于包含它们的子目录中的文件进行管理。每个模块在 "modules" 文件夹内部都有自己的文件夹。
为了被加载,模块文件通过传递适当的参数被包含在 modules.php 文件中。每个模块的主页必须命名为 index.php,模块中可能存在的其他页面将在参数字符串内部使用一个额外的变量来调用。
例如,在 AvantGo 模块中(参见 ),为了加载 index.php 文件,只需将模块名称传递给参数字符串即可(默认情况下,将搜索的文件是 index.php)。
modules.php?name=AvantGo |
如果我们想调用除默认 index.php 之外的页面(例如,print.php),我们需要传递的字符串是
modules.php?name=AvantGo&file=print |
这就是文件变量,其值 (print) 对应于我们要加载的文件名,不带 .php 扩展名。
在 modules/模块名称 文件夹内部,还有一个名为 "language" 的子文件夹。通过这种方式,我们以简单直接的方式管理模块内部的多语言功能。
modules.php 文件的工作方式如下
包含 mainfile.php
验证模块是否处于活动状态
验证字符串是否传递了与 index.php 不同的文件名
验证模块的权限(是否所有人可见,或者仅限注册用户,或者仅限管理员)。