参考: http://nowhisky.diandian.com/post/2012-08-12/40033898638

就一般约定而言,类、函数和变量的名字应该是能够让代码阅读者能够容易地知道这些代码的作用,应该避免使用凌磨两可的命名。

1.  类命名

  • 使用大写字母作为词的分割,其他的字母均使用小写。
  • 名字的首字母使用大写。
  • 不要使用下划线('_')。
  • 如:Name、SuperMan、BigClassObject。

2. 类属性命名

  • 属性命名应该以字符‘m’为前缀。
  • 前缀‘m’后采用与类命名一致的规则。
  • ‘m’总是在名字的开头起修饰作用,就像以‘r’开头表示引用一样。
  • 如:mValue、mLongString等

3. 方法的命名

  • 方法的作用都是执行一个动作,达到一个目的。所以名称应该说明方法是做什么的。一般名称的前缀都是有第一规律的,如is(判断)、get(得到),set(设置)。
  • 方法的命名第一个单词的首字母小写,其后单词的首字母大写。。如:
1
2
3
4
5
6
7
class StartStudy{                       //设置类
        $mLessonOne = "";               //设置类属性
        $mLessonTwo = "";               //设置类属性
        function getLessonOne(){        //定义方法,得到属性mLessonOne的值
            ...
    }
}

4. 方法中参数命名

  • 第一个字符使用小写字母。
  • 在首字符后的所有字符都按照类命名规则首字符大写。
  • 如:
1
2
3
4
5
class EchoAnyWord{
    function echoWord($firstWord,$secondWord){
        ...
    }
}

5. 引用变量

  • 引用变量要带有‘r’前缀。如:
1
2
3
4
5
6
7
8
9
class Example{
    $mExam = "";
    funciton setExam(&$rExam){
        ...
    }
    function getExam(){
        ...
    }
}

6. 变量命名

  • 所有字母都使用小写。
  • 使用‘_’作为每个词的分界。
  • 如:$msg_error、$chk_pwd等。
  • 临时变量通常被取名为i,j,k,m和n,它们一般用于整型;c,d,e,s 它们一般用于字符型。
  • 实例变量前面需要一个下划线, 首单次小写,其余单词首字母大写。

7. 全局变量

  • 全局变量应该带有前缀‘g’。如:global $gTest。

8. 常量、全局常量

  • 常量、全局常量,应该全部使用大写字母,单词之间用‘_’来分割。如
1
2
define('DEFAULT_NUM_AVE',90);
define('DEFAULT_NUM_SUM',500);

9. 静态变量

  • 静态变量应该带有前缀‘s’。如:
1
state $sStatus = 1;

10. 函数命名

  • 所有的名称都使用小写字母,多个单词使用‘_’来分割。如:
1
2
3
function this_good_idear(){
    ...
}

以上的各种命名规则,可以组合一起来使用,如:

1
2
3
class OtherExample{
    $msValue = "";        //该参数既是类属性,又是静态变量
}

PHP命名规则的更多相关文章

  1. [No00009E]几种常见的命名规则

    变量命名规则 必须遵循的命名规则 1.    变量名首字母必须为字母(a-z A-Z),下划线(_),或者美元符号($)开始php编程中所有变量必须以$开始. 2.    变量名只能是字母(a-z A ...

  2. 小猪cms命名规则整理

    1.模板命名规则: 类名+函数名称+.html 2.Model命名规则: 数据库表名:cms_user_data 文件名称命名: UserDataModel.class.php <?php cl ...

  3. Java的书写格式,标识符及命名规则,注释

    Java的书写格式,标识符及命名规则,注释 1.Java语言的书写格式(约定成俗) 1) 大括号要对齐(左大括号与句尾对其,后面大括号与句头对齐),并且成对写 2) 左大括号前面有空格 3) 遇到左大 ...

  4. .NET 基础 一步步 一幕幕 [注释、命名规则、访问修饰符、数据类型、常量、变量]

    注释.命名规则.访问修饰符.数据类型.常量.变量 话说一个不会写注释的程序猿的不是一个好吃货,我们本篇就从注释开始说起好了. 在C#中有三种注释: 第一种:单行注释  以//开头,后面的就是注释内容 ...

  5. c#代码命名规则

    c#代码命名规则   以前没有考虑过命名的这个问题,写起来就是随心所欲,想怎么搞就怎么搞,在但是代码越写越乱,连自己都搞不清楚了,不得不进行认真考虑.参考了一些文章,形成以下想法:   一.      ...

  6. css的命名规则

    本文转载自谈笑涧<css的命名规则> 操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.35 ...

  7. 有利于SEO的DIV+CSS的命名规则

    搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很关键的步骤.为了更加符合SEO的规范,下面是目前流行的CSS+DIV的命名规则: 页头:header登录条:loginBar标志:logo ...

  8. html页面的CSS、DIV命名规则

    CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:l ...

  9. linux 文件权限、类型、命名规则

    文件权限 -rwxr-x--t        文件类型 用户权限 组权限 其他用户权限 umask是一个掩码,设置文件的默认权限,会屏蔽掉不想授予该安全级别的权限,从对象的全权权限中减掉:对文件全权权 ...

  10. css笔记1: html页面的CSS、DIV命名规则

    原地址:http://www.cnblogs.com/rising-fay/archive/2013/02/25/2932592.html CSS命名规则 头:header 内容:content/co ...

随机推荐

  1. eclipse-->run as --> maven test 中文乱码

    其有一个配置参数forkMode,默认为once,即表示每次运行test时,新建一个JVM进程运行所有test. 这可能会导致乱码问题.首先将forkMode设置为never,即不新建.再运行mvn ...

  2. Lock 与Monitor 的用法与区别

    1.lock的底层本身是Monitor来实现的,所以Monitor可以实现lock的所有功能 2.Monitor有TryEnter的功能,可以防止出现死锁的问题,lock没有. 3.Monitor.E ...

  3. unix网络编程卷2:进程间通信

    管道没有名字,只能有亲缘关系使用. FIFO也叫有名管道,有名所以没有了这个限制. 管道提供一个单向数据流,创建函数返回两个文件描述符.一个用来读,一个用来写. 宏S_ISFIFO可用于确定一个描述符 ...

  4. ubuntu 关闭和开启防火墙

    1.关闭ubuntu的防火墙 ufw disable 2开启防火墙 ufw enable 3.卸载了iptables apt-get remove iptables 4.关闭ubuntu中的防火墙的其 ...

  5. 201621123023《Java程序设计》第14周学习总结

    一.本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 由于我的系 ...

  6. Cannot modify header information问题的解决方法【新浪云经常遇到的错误】

    我做了一个统一的出错提示函数,在函数执行里面,先处理出错的地址写入cookie以方便用户登陆以后可以直接跳转到要执行的这个页面,可是发现在服务器上测试时,竟然提示本地没有出现的错误: Warning: ...

  7. “全栈2019”113篇Java基础学习资料及总结

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. SpringMvc date数据传递处理

    1.form表单提交date数据 form表单提交的date数据要在接收的字段上加入@DateTimeFormat注解 @DateTimeFormat(pattern = "yyyy-MM- ...

  9. Spring Boot启动过程(六):内嵌Tomcat中StandardHost、StandardContext和StandardWrapper的启动

    看代码有助于线上出现预料之外的事的时候,不至于心慌... StandardEngine[Tomcat].StandardHost[localhost]的启动与StandardEngine不在同一个线程 ...

  10. Python 魔法方法查询表 -- 总结篇

    据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个, ...