参考: 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. 基于Quartz.net的远程任务管理系统 二

    紧接着上一篇.上一篇讲了表设计与ADO.Net基本操作.接下来,就来说说怎么动态来添加Job任务及清理过期任务吧. 首先,先理一下思路,做事情要先把思绪理清了,然后下手就快准狠了.下面是我的思路:做一 ...

  2. 设置TeeChart的提示文本

    使用第三方Steema的TeeChart控件,设置鼠标放在某一线条点上,显示某一点的数据标签问题(虚线型十字光标基准线,放在线上显示对应点的二维坐标轴数据数据),调用InitTeeChartTipTo ...

  3. 浅谈TCP通讯

    基于Tcp协议的Socket通讯类似于B/S架构,面向连接,但不同的是服务器端可以向客户端主动推送消息. 使用Tcp协议通讯需要具备以下几个条件: (1).建立一个套接字(Socket) (2).绑定 ...

  4. Hibernate继承映射(@Inheritance)

    继承映射在 Annotation 中使用 @Inheritance 注解,并且需要使用 strategy 属性指定继承策略,继承策略有 SINGLE_TABLE.TABLE_PER_CLASS 和 J ...

  5. iOS 画图基础

    基础要点: 1,画图不可以在 ViewController 里,而是应该在一个 UIView 的子类中,比如新建一个 DrawView 继承自 UIView. 2,覆盖 UIView 的 drawRe ...

  6. mongodb 备份脚本

    ###############备份脚本#!/bin/bash basepath="/data/backup/dump$(date +%Y%m%d%H%M%S)" if [ ! -d ...

  7. 音频audio,加层父级

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Spring框架注解

    这四个注解,功能都是一样的,都是用来创建对象的. 但是为什么有这么四个吗?Spring中提供了三个@Component的衍生注解:(功能目前来讲是一样的) @Controller      :WEB层 ...

  9. 【BZOJ1956】[Ahoi2005]SHUFFLE 洗牌

    题目描述: 这道题,我们首先一眼瞪出来一个规律:对于一个位置为i的牌,在1次洗牌后,他的位置处于(i*2)%(n+1) 的位置 那么,显然的,对于M次洗牌 我们只需要求出2的m次方,这个我们采用快速幂 ...

  10. 苹果的 Metal 工程

    Basic Buffers 当向顶点着色器传递数据过多(大于 4096 字节)时, setVertexBytes:length:atIndex: 方法不允许使用,应该使用 setVertexBytes ...