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 ...
随机推荐
- 基于Java的开源CMS系统选择
CMS概述 对于网站CMS系统而言,基于PHP的是主流,如Drupal/Joomla在各个主流虚拟机提供商上都是标准配置,也被广泛使用. 但如果你拥有Java团队,或者项目目标是想建立一个企业网使用的 ...
- COGS——T1310. [HAOI2006]聪明的猴子
http://cogs.pro/cogs/problem/problem.php?pid=1310 ★ 输入文件:monkey.in 输出文件:monkey.out 简单对比时间限制:1 ...
- ArcGIS api for javascript——查找任务-在地图上查找要素
描述 本例展示了如何使用查找任务搜索数据.本例在地图上用图表显示结果并用DojoX的grid格式化结果为表格样式. FindTask构造函数需要一个ArcGIS Server地图服务的URL.本例使用 ...
- 參加北京bluemix云计算大会偶记
我就不写散文了.博客也要轻量化. 记录心路历程吧. 这是一次ibm的技术大会.也是传道大会,洗脑大会.会议主题看起来非常多,占领了北京国际饭店的三层,作为一个老ibm bp感受非常多. 1.北京的创业 ...
- Ubuntu14环境下minigui安装问题记录--object.lo错误
minigui3.0.12在Ubuntu14上面编译只是去?出现这个错误:object.h:275:9: error: incompatible types when assigning to typ ...
- 影响FPGA设计中时钟因素的探讨。。。转
http://www.fpga.com.cn/advance/skill/speed.htm http://www.fpga.com.cn/advance/skill/design_skill3.ht ...
- VS初始化设置
来源于网上整理和 书<aps.net mvc企业级实战>中. 1.vs模版 版权注释信息 1.我的电脑上VS2015安装在D盘中,所以找的目录为:D:\Program Files (x86 ...
- css3 实现加载滚动条效果
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- javaScript [[scope]]学习笔记
在javaScript 学习中,闭包肯定是一个让人头疼的问题,而闭包必定离不开[[scope]]作用域 scope存储了执行期上下文的集合 而了解scope以及scope链又是一个十分抽象的问题 我们 ...
- Conservative GC (Part one)
目录 保守式GC 不明确的根 指针和非指针的区别 貌似指针的非指针 不明确数据结构 优点 准确式GC 正确的根 打标签 不把寄存器和栈等当做根 优点 缺点 间接引用 经由句柄引用对象 优缺点 保守式G ...