命名规范
开发的过程中应该尽量遵循下列命名规范:
- 类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如
DbMysql.class.php
;- 类的命名空间地址和所在的路径地址一致,例如
Home\Controller\UserController
类所在的路径应该是Application/Home/Controller/UserController.class.php
;- 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
- 类名和文件名一致(包括上面说的大小写一致),例如
UserController
类的文件命名是UserController.class.php
, InfoModel类的文件名是InfoModel.class.php
, 并且不同的类库的类命名有一定的规范;- 函数、配置文件等其他类库文件之外的一般是以
.php
为后缀(第三方引入的不做要求);- 函数的命名使用小写字母和下划线的方式,例如
get_client_ip
;- 方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如
getUserName
,_parseType
,通常下划线开头的方法属于私有方法;- 属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如
tableName
、_instance
,通常下划线开头的属性属于私有属性;- 以双下划线“__”打头的函数或方法作为魔法方法,例如
__call
和__autoload
;- 常量以大写字母和下划线命名,例如
HAS_ONE
和MANY_TO_MANY
;- 配置参数以大写字母和下划线命名,例如
HTML_CACHE_ON
;- 语言变量以大写字母和下划线命名,例如
MY_LANG
,以下划线打头的语言变量通常用于系统语言变量,例如_CLASS_NOT_EXIST_
;- 对变量的命名没有强制的规范,可以根据团队规范来进行;
- ThinkPHP的模板文件默认是以
.html
为后缀(可以通过配置修改);- 数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如
think_user
表和user_name
字段是正确写法,类似_username
这样的数据表字段可能会被过滤。
流程语句规范
所有流程语句的花括号都单独占据一行。理由:如果遇到较为复杂的业务逻辑,花括号会出现很多的嵌套,这样一来我们会混淆个个对应的花括号!
1、分支语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
if
(
$age
>= 18 &&
$age
<= 30)
{
echo
'young man'
;
}
else
if
(
$age
> 30 &&
$age
<= 60)
{
echo
'middle aged'
;
}
else
{
echo
'old man'
;
}
//下面这段代码高手我们一个问题,在if语句中,即使在可以不要花括号的情况下,花括号也是要写上的
if
(
$age
> 60)
{
echo
'I am very old'
;
}
switch
(
$status
)
{
case
'forbiden'
:
echo
'login forbidden'
;
break
;
case
'normal'
:
echo
'login in'
;
break
;
default
:
echo
'status is wrong'
:
break
;
}
|
2、循环语句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
while
(
$condition
)
{
statesments......;
}
foreach
(
$arrayList
as
$arrayKey
=>
$arrayItem
)
{
states......;
}
do
{
statements......;
}
while
(
$condition
)
for
(
$start
; condition; changenumber)
{
statements......;
}
|
总体需遵规则
开发的过程中,遵循以下规则,会让你的开发变得更轻松:
- 遵循框架的命名规范和目录规范;
- 开发过程中尽量开启调试模式,及早发现问题;
- 养成使用I函数获取输入变量的好习惯;
- 更新或者环境改变后遇到问题首要问题是清空Runtime目录;