编码规范
参考:ThinkPHP开发规范
1。普通变量采用小写字母,多单词以“_
”连接,例如:$base_dir
、$red_rose_price
等。
2。静态变量以“s_
”开头,字母小写,多单词以“_
”连接,例如:$s_base_dir
、$s_red_rose_prise
等。
3。局部变量以“_
”开头,字母小写,多单词以“_
”连接,例如:$_base_dir
、$_red_rose_price
等。
4。全局变量以“G_
”开头,字母大写,多单词以“_
”连接,知道一个变量的作用域是非常重要的。例如:global $G_LOG_LEVEL
、global $G_LOG_PATH
。
5。session以“S_
”开头,字母大写,多单词以“_
”连接,例子:$S_BASE_DIR
、$S_RED_ROSE_PRICE
等。
6。确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
7。 类的声明按照“帕斯卡命名法”,例如:class MyClass
或 class DbOracle
等。
8。类文件要求以.class.php
为后缀,使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php
。
9。通常下划线开头的方法属于私有方法:_parseType
。
10。方法的命名使用“驼峰法”,或者使用下划线“_”连接,例如 getUserName
。
11。函数的命名使用小写字母和下划线的方式,例如 get_client_ip
。
12。属性的命名使用驼峰法,并且首字母小写或者使用下划线“_
”,例如 tableName
、_instance
,通常下划线开头的属性属于私有属性;
以双下划线“__
”打头的函数或方法作为魔法方法,例如 __call
和 __autoload
。
13。常量以大写字母和下划线命名,例如 HAS_ONE
和 MANY_TO_MANY
。
14。类的命名空间地址和所在的路径地址一致,例如Home\Controller\UserController
类所在的路径应该是Application/Home/Controller/UserController.class.php
。
15。配置参数以大写字母和下划线命名,例如HTML_CACHE_ON
。
16。语言变量以大写字母和下划线命名,例如MY_LANG
。以下划线打头的语言变量通常用于系统语言变量,例如 _CLASS_NOT_EXIST_
,
没有强制的规范,可以根据团队规范来进行。
17。类名和文件名一致(包括上面说的大小写一致),程序中所有的类名唯一,例如UserController
类的文件命名是UserController.class.php
, InfoModel
类的文件名是InfoModel.class.php
, 并且不同的类库的类命名有一定的规范。
//类统一采用:DemoTest.class.php
//接口统一采用:DemoTest.interface.php
//其他按照各自的方式:demoTest.{style}.php
18。数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。
19。确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的;
20。PHP关键词及系统函数全部小写,false/true/null
也全部小写。
21。所有的PHP程序代码块标记均使用
,(短标签容易和xml混淆,php从5.4开始默认不支持短标记)。
22。对于只有php的代码文件,建议省略结尾处的‘?>
’。这是为了防止多余的空格或其他字符影响到代码。
23、抽象类应以Abstract开头。
24。接口命名规则:
i)采用和类相同的命名规则,但在其命名前加‘i
’字符,表示接口。如:iDataBase。
ii)尽量保持和实现它的类名一致。
接口文件可使用“iDatabase.interface.php”命名。
25、程序中所有类名唯一。