php中类文件名的命名的规则是什么
php中类文件名的命名的规则是什么
一、总结
一句话总结:类库文件(工具类)类文件都是以.class.php为后缀。
1、类的方法和属性的命名规则是怎样的?
都是小驼峰法
- 方法的命名使用驼峰法,并且首字母小写e.g.getUserName小驼峰
- 属性命名使用驼峰法,并且首字母小写e.g. table Name 变量命名(但全局变量用大驼峰,前缀加上“-”)
2、函数和方法的命名的区别是什么?
函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
方法的命名使用驼峰法,并且首字母小写e.g.getUserName小驼峰
3、命名中哪些部分使用全小写?
文件名,数据库名(表名),配置文件名
二、PHP类名和方法名 命名规范
- 类库文件(工具类)类文件都是以.class.php为后缀,驼峰法命名 e.g.DbMysql.class.php
- 函数/配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求),小驼峰e.g. common.php
- 确保文件的命名和调用大小写一致,在类Unix系统上面,对大小写是敏感的
- 类名和文件名一致(大小写一致) 大写字母开头
- 函数的命名使用小写字母和下划线的方式
- Action控制器类似Action为后缀,如UserAction
- 模型类似Model为后缀,如UserModel
- 方法的命名使用驼峰法,并且首字母小写e.g.getUserName小驼峰
- 属性命名使用驼峰法,并且首字母小写e.g. table Name 变量命名(但全局变量用大驼峰,前缀加上“-”)
- 以双下划线“__”打头的函数或方法作为魔法方法
- 常量以大写字母和下划线命名 e.g. HAS_ONE
- 配置参数以大写字母和下划线命名e.g. HTML_CACHE_ON
- 数据表和字段采用小写下划线方式命名 e.g. think_user
- 文件夹统一使用小写字母
- 流程语句规范:括号单独占一行
- 注:类名无“()”,函数名才有()
参考:PHP类名和方法名 命名规范 - CSDN博客
https://blog.csdn.net/Gaby_JJ/article/details/78318631
三、PHP代码、文件命名规范
命名规范
开发的过程中应该尽量遵循下列命名规范:
- 类文件都是以.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目录;
https://www.cnblogs.com/dengcw/p/5985608.html
php中类文件名的命名的规则是什么的更多相关文章
- Caliburn.Micro学习笔记(一)----引导类和命名匹配规则
Caliburn.Micro学习笔记目录 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详 ...
- CSS命名规范(规则)常用的CSS命名规则
CSS命名规范(规则)常用的CSS命名规则 CSS命名规范(规则)常用的CSS命名规则 头:header 内容:content/container 尾:footer ...
- Objective-C中的一些方法命名“潜规则”
在基于Apple Xcode的Objective-C中,有一些方法命名潜规则,比如就property而言,假定你定义了如下property: @interface MyObject @property ...
- 前端传数据到后台,后台用实体类接收不到引发的思考----Java bean中字段命名潜规则
1.按照Java语法规范,通常在实体类中的属性,首字母都是小写的.这是由于JavaBean的规范导致的.一般JavaBean属性都是首字母小写,以驼峰命名格式命名,相应的 getter/setter ...
- java中包命名常见规则
做java的都知道java的包.类.接口.枚举.方法.常量.变量等等模型都有一套约定的命名规则! 学习每一种语言都应该学习对应语法和命名规则,以保持一个良好的编码风格.一来显示自己的专业.二来方便阅读 ...
- 【C#】复制物体后,给副本命名的规则——用正则表达式
需求:已经实现物体复制功能后,给新生成的副本进行命名. 问题:因为副本也能被复制,即副本的副本,所以复制品的命名规则会如下图所示. 尝试过用for循环和递归,发现在for循环内部递归返回的话会有问题, ...
- java变量的命名使用规则
1.环境变量通常是指在操作系统中,用来指定操作系统运行时需要的一些参数 2.变量名以字母.下划线或者美元符(4上面的¥)开头,不能以数字开头,后面跟字母.下划线.美元符.数字,变量名对大小写敏感,无长 ...
- PHP命名大小写敏感规则
一直觉得PHP中各种大小写规则理不清,就连工作多年的老手们也不一定能对PHP大小写敏感问题足够了解.在PHP中,大小写敏感问题的处理比较乱,大家一定要注意.即使某些地方大小写不敏感,但在编程过程中能始 ...
- C#泛型命名潜规则
public class List<T>{} public class LinkedList<T>{} public class SortedList<TKey,TVal ...
随机推荐
- 常量成员函数的注意事项 & mutable的使用场景
mutable的使用场景: 可以在一个const的对象里面,解除对部分字段的const限制.也可以用在const成员函数里面. 对于const与否,一般会调用不同版本的函数: 而对于二元操作符,如果用 ...
- [python]pip坏了怎么办?
今天,给一位新同事配置pip,用get-pip.py安装之后.出现错误: raise DistributionNotFound(req) # XXX put more info here pkg_r ...
- Runtime类中的freeMemory,totalMemory,maxMemory等几个方法
最近在网上看到一些人讨论到Java.lang.Runtime类中的freeMemory(),totalMemory(),maxMemory ()这几个方法的一些题目,很多人感到很迷惑,为什么,在jav ...
- nios sgdma(Scatter-Gather dma)示例
在 Quartus7.2之后的版本中,除了原有的基于avalon-mm总线的DMA之外,还增加了Scatter-Gather DMA这种基于avalon-ST流总线的DMA IP核,它更适合与大量数据 ...
- BZOJ2895: 球队预算
[传送门:BZOJ2895] 简要题意: 在一个篮球联赛里,有n支球队,球队的支出是和他们的胜负场次有关系的,具体来说,第i支球队的赛季总支出是Ci*x^2+Di*y^2,Di<=Ci.(赢得多 ...
- Google Summer of Code 2017 经验谈
Google Summer of Code (GSoC) 2018 又要开始了. 如果想实现你心中的开源梦想, 用代码让世界变得更美好. 参加GSoC可能是你进入开源的世界最好途径. GSoC是什么 ...
- OpenGL编程逐步深入(三)在窗口中显示一个三角形
这一节教程的内容会比较少,我们仅仅是对上一节教程中的代码进行扩展,在窗口中渲染一个三角形出来. 本节我们以下图所示正方形来讲解OpenGl中的坐标系统.当沿着Z轴负方向看时,可见顶点的坐标必须在这个正 ...
- axure中使用HighCharts模板制作统计图表
一. 步骤: 1.在axure中新建页面,发布并生成html文件: 2.将HighCharts文件夹,拷贝到生成的html文件中: 3.拖拽“内部框架组件”到界面中 4.双击界面中的内部框架,设置链接 ...
- jdbc参数传递
1.jdbc请求设置 将查询结果第一列coupon_id,存放在couponId中; 将查询结果第二列code,存放在coupCode中 2.参数解释: couponId_#:表示查询结果中coupo ...
- 如何在Ubuntu14.04中安装mysql
接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,具体的教程如下.1.在Ubuntu的命令 ...