# 命名规范
## 文件名
1. 首页/文章列表 `index.php` ,文章页面 `post.php` ,独立页面 `page.php` ,带模板的独立页面 `page-xxx.php` (其中xxx为模板名)。如需使用头/尾共用文档,尽量命名为 `header.php` 和 `footer.php` 。
2. 模板系统支持设置页面,如有需要请命名为 `setting.php` ,其他名称系统不识别。
3. 函数文件命名为 `function.php` ,其他名称系统不识别。
4. 主样式文件请尽量命名为 `style.css` 或者 `style.min.css` 。
5. 目录名称请不要使用中文,尽量使用下划线命名法。
6. 模板可定制404错误页,命名为 `404.php` ,其他名称系统不支持,也不支持其他错误页。
7. 若需要在主题列表展示截图,将图片命名为`screen.png`。
8. 压缩包应包含根目录,例:
> 压缩包.zip
> |--default
> |----css
> |------style.css
> |----js
> |------app.js
> |----index.php
> |----post.php
> |----page.php
> |----comment.php
> |----screen.png
## 函数文件(可选)
1. 变量/函数使用的命名法尽量统一、美观(不强制要求使用驼峰命名法,但建议使用)。
2. 命名不得占用保留字,不得与系统内已有名称冲突。
## 模板设置(可选)
1. 变量/函数使用的命名法尽量统一、美观(不强制要求使用驼峰命名法,但建议使用)。
2. 命名不得占用保留字,不得与系统内已有名称冲突。
# 开发规范
## 模板文件
1. 在 `index.php` 中,需要在头部有如下注释:
> /**
> * 主题描述
> *
> * @package 主题名称
> * @author 主题作者
> * @version 主题版本
> * @link 链接
> */
如果注释不符合规范,系统会默认用目录名作为主题名称。
2. 在页面模板文件(`page-xxx.php`)中,头部采用以下注释可以显示模板名称:
> /**
> * @template 模板名称
> */
3. 使用for/foreach/if等流程控制语法时,尽量采用成对形式的代替语法,如
```
if (condition) {
}
foreach ($data as $val) {
}
```
换成
```
if (condition):
endif;
foreach ($data as $val):
endforeach;
```
其目的是使模板代码工整,便于维护。if,while,for,foreach,switch都可以使用代替语法
4. 不要在HTML代码中夹杂大量业务逻辑,如果需要实现一些功能,请封装成函数并放在 `function.php` 中,然后在模板中调用即可。
5. 不要在模板中实现任何系统外的数据交换(例如表单提交保存),尤其是诱导用户填写私密信息的表单(例如留言板)。请使用插件实现它们,但是主题本身仍可支持前端的功能。
6. 原则上不得在模板中显示任何用户的私密信息,例如用户的邮箱、密码等。
7. 尽量少的资源文件,以减少主题包的大小。
8. 尽量少的冗余代码,做到一码多用。
9. 不要在模板中显示任何系统规定外的错误信息,例如MySQL错误信息。
10. 尽量不要重写系统已有的方法,可能会降低效率。