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 ...
随机推荐
- HDU 3277 Marriage Match III
Marriage Match III Time Limit: 4000ms Memory Limit: 32768KB This problem will be judged on HDU. Orig ...
- CSS元素选择器 element selector(type selector)
http://www.w3school.com.cn/css/css_selector_type.asp 元素选择器 最常见的 CSS 选择器是元素选择器.换句话说,文档的元素就是最基本的选择器. 如 ...
- HDU 5375 Gray Code 动归
题意:给你一串不确定的二进制码,其对应的格雷码的每一位有对应的权值,问转换成的格雷码的能取到的最大权值是多少. 思路:没有思路,乱搞也AC #pragma comment(linker, " ...
- 相比于HTML4,HTML5废弃的元素有哪些?
第一类:表现性元素basefontbigcenterfontsstrikettu建议用语义正确的元素代替他们,并使用CSS来确保渲染后的效果 第二类:框架类元素因框架有很多可用性及可访问性问题,HTM ...
- SQL 小技能
1. SET STATISTICS TIMEON 附带原文 2.关于索引,是自己可以用Tsql语句建,也可以在设计表的时候选中某一个字段建立索引 一般而言,主键属于聚合索引(字典:A-Z);反 ...
- Python正则表达式初识(三)
前几天给大家分享了Python正则表达式基础(一)和Python正则表达式基础(二),感兴趣的小伙伴可以点击进去学习,今天继续给大家分享Python正则表达式基础. 1.正则表达式特殊字符“+”,其代 ...
- SpringMVC与SpringBoot返回静态页面遇到的问题
1.SpringMVC静态页面响应 package com.sv.controller; import org.springframework.stereotype.Controller; impor ...
- 【Linux端口大全】
2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口:丢弃 11端口:在线用户 13端口:时间 17端口:每日引用 18端口:消息发送协议 19端口:字符发生器 20端口 ...
- CentOS下安装.net core环境并部署WebAPI
1.安装CentOS 7 2.安装.net Core 2环境,参考官方文档:(建议采用SDK (tar.gz)安装) https://www.microsoft.com/net/download/li ...
- 洛谷 P3913 车的攻击
P3913 车的攻击 题目描述 N \times NN×N 的国际象棋棋盘上有KK 个车,第ii个车位于第R_iRi行,第C_iCi 列.求至少被一个车攻击的格子数量. 车可以攻击所有同一行或者同 ...