2021-08-18 00:33:19 +08:00
|
|
|
|
## 命名规则
|
2021-08-11 13:00:10 +08:00
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
?> 当前规范订立日期:2021年8月17日
|
2021-08-11 13:00:10 +08:00
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
为避免重复及便于识别,应用名中不能出现特殊字符,应用识别名须遵循相应书写规范。不得使用拼音作为命名方式。
|
2021-08-11 13:00:10 +08:00
|
|
|
|
|
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
### 文件名称规范
|
2021-08-11 13:00:10 +08:00
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
项目所有目录及文件名全部采用小写+下划线 `_` 形式(类文件名除外),例如 `system_basic.php`,不得出现大写字母。
|
|
|
|
|
|
|
|
|
|
类的文件名以 `类名.class.php` 为后缀。(一个.class.php文件只能包含一个类的定义)
|
|
|
|
|
|
|
|
|
|
配置文件的文件名以 `文件名.inc.php` 为后缀。(inc即为include file)
|
|
|
|
|
|
|
|
|
|
### 类命名规范
|
|
|
|
|
|
|
|
|
|
单词首大写,其余字母小写,如 `Tawords`,`UserAccount`。
|
|
|
|
|
|
|
|
|
|
类名不宜超过三个字母。
|
|
|
|
|
|
|
|
|
|
### 函数、方法命名规范
|
|
|
|
|
|
|
|
|
|
> 函数与方法的区别:函数是单独存在的,方法是依赖于类存在的。
|
|
|
|
|
|
|
|
|
|
全部使用小写,使用下划线`_`连接。如:`get_user_info`
|
|
|
|
|
|
|
|
|
|
### 变量命名规范
|
|
|
|
|
|
|
|
|
|
1. 变量首字母小写,采用驼峰式命名法(Camel-Case),即“**小驼峰**”。
|
|
|
|
|
2. 除非特殊情况,一般**不使用下划线**。
|
|
|
|
|
3. 不要使用容易产生混淆的命名(如 `$data1`,`$data2` )
|
|
|
|
|
4. **数组变量**名后带 `Array` ,如 `$userInfoArray = array();`
|
|
|
|
|
5. **全局变量**前带 `g` ,以明确变量作用域,如 `$gUser`(全局变量 `$bta` 除外)
|
|
|
|
|
6. **静态变量**后带 `Static` 或前带 `s` ,如 `$sUrl`,`$fileArrayStatic`
|
|
|
|
|
7. **对象变量**后带 `Object` ,如 `$databaseObject`
|
|
|
|
|
|
|
|
|
|
如:`$userName`,`$delUserSql`
|
|
|
|
|
|
|
|
|
|
> 另外,全局变量为:$bta
|
|
|
|
|
|
|
|
|
|
### 常量命名规范
|
|
|
|
|
|
|
|
|
|
使用英文名词、动词,所有字母均大写,单词间使用下划线 `_` 分隔。
|
|
|
|
|
|
|
|
|
|
如:`define( 'A_GLOBAL_CONSTANT', "Heool world!" );`
|
|
|
|
|
|
|
|
|
|
### 数据库表名命名规范
|
|
|
|
|
|
|
|
|
|
所有字母均小写,使用下划线 `_` 连接,表名前需添加统一前缀(默认为 `bta_` ),如:`bta_users`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 代码规范与编码风格
|
|
|
|
|
|
|
|
|
|
?> 当前规范订立日期:2021年8月17日
|
|
|
|
|
|
|
|
|
|
1. 对于只含有php代码的文件,在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。
|
|
|
|
|
|
|
|
|
|
2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,不要使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。
|
|
|
|
|
|
|
|
|
|
3. 函数、方法名与参数列表小括号间,参数列表小括号与花括号之间使用空格隔开,如:
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
function get_user_info ($userId) {
|
|
|
|
|
// code
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
4. 当一个字符串是纯文本组成的时候(即不含有变量时),以单引号(') 作为定界符,如:`$name = 'tawords';`
|
|
|
|
|
|
|
|
|
|
5. 当用点号 `.` 连接各字符串的时候,字符串与点号间用一个空格隔开,且允许把它分割成多行以增强可读性。
|
|
|
|
|
|
|
|
|
|
6. 类中方法用 `private`, `protected` 或者 `public `表明其作用域。
|
|
|
|
|
|
|
|
|
|
7. 即使if语句可以不适用花括号的情况下,也建议带上花括号。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 注释规范(待定)
|
|
|
|
|
|
|
|
|
|
?> 当前规范订立日期:2021年8月17日
|
|
|
|
|
|
|
|
|
|
> `@version`表示当前代码文件迭代版本
|
|
|
|
|
> `@since` 表示从该版本开始加入该类、接口、方法
|
|
|
|
|
> `@auther`表示当前代码作者
|
|
|
|
|
> `@modify`表示当前代码修改时间
|
2021-08-07 15:56:20 +08:00
|
|
|
|
> `@deprecated` 表示不建议使用该类/接口/方法
|
|
|
|
|
> `@exception` 标注Runtime异常
|
|
|
|
|
> `@throws` 标注非Runtime异常
|
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
普通代码文件头
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* 背Ta单词 tawords
|
|
|
|
|
*
|
|
|
|
|
* @version 1
|
|
|
|
|
* @since 1.0.0
|
|
|
|
|
* @auther Coding Zhang
|
|
|
|
|
* @modify 2021.08.17
|
|
|
|
|
*/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
类
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* 背Ta单词 tawords
|
|
|
|
|
*
|
|
|
|
|
* 一句话简介
|
|
|
|
|
*
|
|
|
|
|
* @version 1
|
|
|
|
|
* @since 1.0.0
|
|
|
|
|
* @auther Coding Zhang
|
|
|
|
|
* @modify 2021.08.17
|
|
|
|
|
*/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
主路由文件添加官网地址以及开源Git仓库地址
|
|
|
|
|
|
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* @website tawords.com
|
|
|
|
|
* @repository https://gitee.com/tawords/tawords/
|
|
|
|
|
*/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-08-07 15:56:20 +08:00
|
|
|
|
类、接口
|
2021-08-18 00:33:19 +08:00
|
|
|
|
|
2021-08-07 15:56:20 +08:00
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* 〈一句话功能简述〉LogManager 类集中控制对日志读写的操作。
|
|
|
|
|
* 〈功能详细描述〉全部为静态变量和静态方法,对外提供统一接口。分配对应日志类型的读写器,读取或写入符合条件的日志纪录。
|
|
|
|
|
* @author [作者]张三,李四,王五
|
|
|
|
|
* @version [版本号, YYYY-MM-DD]1.2, 2001-03-25
|
|
|
|
|
* @see [相关类/方法]LogIteraotor
|
|
|
|
|
* @see [相关类/方法]BasicLog
|
|
|
|
|
* @since [产品/模块版本]CommonLog1.0
|
|
|
|
|
*/
|
|
|
|
|
```
|
|
|
|
|
|
2021-08-18 00:33:19 +08:00
|
|
|
|
函数、方法
|
2021-08-07 15:56:20 +08:00
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* 〈一句话功能简述〉
|
|
|
|
|
* 〈功能详细描述〉
|
|
|
|
|
* @param [参数1] [参数1说明]
|
|
|
|
|
* @param [参数2] [参数2说明]
|
|
|
|
|
* @return [返回类型说明]
|
|
|
|
|
* @exception/throws [违例类型] [违例说明]
|
|
|
|
|
* @see [类、类#方法、类#成员]
|
|
|
|
|
* @deprecated
|
|
|
|
|
*/
|
|
|
|
|
```
|
2021-08-18 00:33:19 +08:00
|
|
|
|
```php
|
|
|
|
|
/**
|
|
|
|
|
* @Purpose:
|
|
|
|
|
* 执行一次查询
|
|
|
|
|
* @Method Name: Query()
|
|
|
|
|
*
|
|
|
|
|
* @Param: string $queryStr SQL查询字符串
|
|
|
|
|
* @Param: string $username 用户名
|
|
|
|
|
*
|
|
|
|
|
* @Author: Michael Lee
|
|
|
|
|
*
|
|
|
|
|
* @Return: mixed 查询返回值(结果集对象)
|
|
|
|
|
*/
|
|
|
|
|
function($queryStr, $username)
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 本规范订立时,参考了以下文章:
|
|
|
|
|
>
|
|
|
|
|
> [PHP编码规范(命名规则)](http://www.splaybow.com/post/php-coding-guifan.html)
|
|
|
|
|
>
|
|
|
|
|
> [php中类文件名的命名的规则是什么](https://www.cnblogs.com/Renyi-Fan/p/9417604.html)
|
|
|
|
|
>
|
|
|
|
|
> [PHP程序员必知的文件名命名规范](https://www.szhulian.com/new/729.html)
|
|
|
|
|
|