文件命名

所有包含PHP代码的程序文件或半程序文件,应以小写.php作为扩展名,而不要使用.phtml、.php3、.inc、.class等作为扩展名。
普通程序
能够被URL直接调用的程序,例如home.php、index.php、forum.php,直接使用程序名+.php的方式命名

函数库和类库程序
分别以小写function_xxxx.php和class_xxxx.php的格式命名书写。函数库和类库程序只能被其他程序引用,而不能独立运行。其中不能包含任何流程性的、不属于任何函数或类的程序代码。

流程性程序
以小写.inc.php作为扩展名。只能被其他程序引用,而不能独立运行。其中不能包含任何函数或类代码的程序代码。

模板源文件
以小写.htm作为扩展名。模板源文件按照Discuz!模板编码规则进行编写,不是可以执行的程序,而只能被Discuz!模板编译器所解析,放置于./templates/default或./templates下的其他模板目录下。

模板目标文件
模板文件被编译后自动生成的目标程序,以小写.tpl.php作为扩展名,存放于./data/template目录下。

语言包文件

  • 以小写lang_xxxx.php格式命名,只能存放模板或程序使用的语言包信息。

  • 模板语言包存放在对应模块名下的lang_template.php,例如:家园的模板语言包source\language\home\lang_template.php

缓存文件
此类文件为系统自动生成,以cache_xxx.php、usergroup_xxx.php、style_xxx.php等类似形式命名,存放于./data/cache目录下。

目录命名

  • Discuz!目录命名以前面《4.4命名原则》的约定为基本准则。在可能的情况下,多以复数形式出现,如./templates、./images等。

  • 由于目录数量较少,因此目录命名大多是一些习惯和约定俗成,开发人员如需新建目录,应与项目组成员进行磋商,达成一致后方可实施。

空目录索引

  • 请在所有不包含普通程序(即能够被URL直接调用的程序)的目录中放置一个1字节的index.htm文件,内容为一个空格。几乎除Discuz!根目录以外,所有目录都属于这一类型,因此开发者需要在这些目录全部放入空index.htm文件,以避免当http服务器的Directory Listing打开时,服务器文件被索引和列表。

  • 附件目录等敏感目录,要在程序中实现相应功能,当新建下级目录时,必须自动写入一个空的index.htm文件,以避免新建目录被索引的问题。