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 Web学习总结(20)——基于ZooKeeper的分布式session实现
1. 认识ZooKeeper ZooKeeper-- "动物园管理员".动物园里当然有好多的动物,游客可以根据动物园提供的向导图到不同的场馆观赏各种类型的动物,而不是像走在原始 ...
- Android Studio更改项目SDK的版本
Elipse 中的安卓项目,在Android Studio中可以通过File -->new -- > Import Project的方法建立起来.但是有时候需要用到更改项目的API Lev ...
- 在Maven项目中关于SSM框架中邮箱验证登陆
1.你如果要在maven项目中进行邮箱邮箱验证,你首先要先到pom.xml文件中配置mail.jar,activation.jar包 <dependency> <groupId> ...
- 在cmd命令行中弹出Windows对话框(使用mshta.exe命令)
有时候用bat写一些小脚本最后会弹出对话框提示操作成功,可以用mshta.exe来实现,它是Windows系统的相关程序,用来执行.HTA文件,一般计算机上面都有这个程序,实现如下: mshta vb ...
- Android中ViewPager的使用
我们在一个apk中第一次開始的时候,会有一个guide界面.一般使用ViewPager来完毕. 布局文件例如以下: <? xml version="1.0" encoding ...
- 算法导论————EXKMP
[例题传送门:caioj1461] [EXKMP]最长共同前缀长度 [题意]给出模板串A和子串B,长度分别为lenA和lenB,要求在线性时间内,对于每个A[i](1<=i<=lenA), ...
- 存储过程和transaction
https://stackoverflow.com/questions/11531352/how-to-rollback-a-transaction-in-a-stored-procedure BEG ...
- Controller接口控制器
1.Controller简介 Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分: 1.收集.验证请求参数并绑定到命令对象: 2.将命令对象交给业务对 ...
- PullToRefreshListView中嵌套ViewPager滑动冲突的解决
PullToRefreshListView中嵌套ViewPager滑动冲突的解决 最近恰好遇到PullToRefreshListView中需要嵌套ViewPager的情况,ViewPager 作为头部 ...
- nodejs-website
http://docs.nodejitsu.com/articles/file-system/how-to-read-files-in-nodejs http://nodeapi.ucdok.com/ ...