1. 一、 变量命名
  2. a) 所有字母都使用小写
  3. b) 首字母根据变量值类型指定
  4. i. 整数i
  5. ii. 浮点数f
  6. iii. 字符串s
  7. iv. 布尔值b
  8. v. 数组a
  9. vi. 对象o
  10. vii. 资源r
  11. viii. 混合类型m
  12. c) 使用’_’作为每一个词的分界
  13. 例如:
  14. $i_age_max = 10;
  15. $f_price = 22.5;
  16. $s_name =‘harry’;
  17. $b_flag = true;
  18. $a_price = array();
  19. $o_object = new class();
  20. $r_file = fopen();
  21. $m_var = array_combine($a_name, $a_flag);
  22.  
  23. 二、 类命名
  24. a) 使用大写字母作为词的分隔,其他的字母均使用小写,即驼峰格式。
  25. b) 名字的首字母使用大写
  26. c) 不要使用下划线(’_')
  27. d) interface接口最好使用大写字母I,并以Interface结尾
  28. 例如:
  29. class NameOneTwo
  30. class Name
  31. interface IExampleInterface ()
  32.  
  33. 三、 方法命名
  34. a) 使用大写字母作为词的分隔,其他的字母均使用小写
  35. b) 名字的首字母使用大写,声明为 “private” 或 “protected” 的,使用’_’为前缀
  36. c) 不要使用下划线(’_')
  37. d) (与类命名一致的规则)
  38. e) 对象的访问器总是以 get set 为前缀,当使用设计模式如 单态模式(singleton)或工厂模式(factory),方法的名字应当包含模式的名字,这样容易从名字识别设计模式。
  39. 例如:
  40. class NameOneTwo{
  41. public function DoIt() {};
  42. protect function _HandleError() {};
  43. private function _SayHello() {};
  44. }
  45.  
  46. 四、 类属性命名
  47. a) 属性名前缀应以属性值类型指定(具体参照变量命名规则)
  48. b) 前缀后采用与类命名一致的规则
  49. c) 私有属性采用’_’为前缀
  50. 例如:
  51. class NameOneTwo {
  52. public function VarAbc() {};
  53. public function ErrorNumber() {};
  54. public $iAge;
  55. private $_iAge;
  56. }
  57.  
  58. 五、 方法中参数命名
  59. a) 参照类属性命名
  60. 例如:
  61. class NameOneTwo {
  62. public function VarAbc($sMsg) {};
  63. }
  64.  
  65. 六、 全局变量
  66. a) 全局变量应该带前缀‘g
  67. b) 其余参照变量命名规则
  68. 例如:
  69. global $gi_Age;
  70. global $ga_Price
  71.  
  72. 七、 定义命名/全局常量
  73. a) 全局常量使用’_’分割每个单词
  74. b) 所有字母使用大写
  75. 例如:
  76. define(‘E_ERROR_MISSING_PARA’, 501);
  77.  
  78. 八、 函数
  79. a) 所有的字母采用小写,使用’_’分割每个单词
  80. 例如:
  81. function some_bloody_function(){
  82. }
  83.  
  84. 九、 大括号{}规则
  85. a) 将大括号放置关键词下方的同列处或同行,推荐放到同行
  86. 例如:
  87. function some_bloody_function() {
  88. }
  89. if (true) {
  90. // code
  91. }
  92.  
  93. 十、 缩进/制表符规则
  94. a) 使用制表符缩进
  95. 例如:
  96. function some_bloody_function() {
  97. if (true) {
  98. //code
  99. }
  100. }

转载:http://www.cnblogs.com/omiwa/articles/3455450.html

PHP代码编写规范的更多相关文章

  1. .NET代码编写规范 整理

    .NET代码编写规范 整理 .NET代码编写规范 - [ASP.NET] 2009-02-26 | Tag: 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://lensp ...

  2. 代码编写规范说明书(c#.net与asp.net)

    代码编写规范说明书(c#.net与asp.net) 目 录1 目的2 范围3 注释规范3.1 概述3.2 自建代码文件注释3.3 模块(类)注释3.4 类属性注释3.5 方法注释3.6 代码间注释4 ...

  3. Python代码编写规范

    Python代码编写规范 编码: a)     如无特殊情况,文件一律使用UTF-8编码 b)     如无需特殊情况,文件头部必须加入#-*-coding:utf-8-*- 缩进 a)     统一 ...

  4. Java学习---Java代码编写规范

    编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...

  5. PHP|PHP之代码编写规范

    PHP之代码编写规范 一.编辑器设置 1.使用Tab缩进(四个空格),不要直接使用空格 2.文件编码格式 二.命名设置 1.公共库名称空间 2.变量命名 2.1.所有字母都使用小写 2.2.首字母根据 ...

  6. Java代码编写规范(转载)

    编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...

  7. Java代码编写规范(不是标准规范,自行整理,无须纠结)

    最近回过头来给以前的项目增加功能,发现之前写的注释非常不全,代码也非常的不整洁,有些地方写的''窝七八烂的,看着很不舒服:又恰好经理最近也经常跟我提起代码规范,我们就讨论了一下代码规范的重要性和必要性 ...

  8. php 代码编写规范

    1 编写目的为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规范.开发团队根据自己的实际情况,可以对本规范进行补充或裁减. 2 整体要 ...

  9. 代码编写规范Asp.Net(c#)

    1        目的 为了统一公司软件开发的设计过程中关于代码编写时的编写规范和具体开发工作时的编程规范,保证代码的一致性,便于交流和维护,特制定此规范. 2        范围 本规范适用于开发组 ...

  10. python 代码编写规范

    一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换行点要在操作符的后边敲回车.3 类 ...

随机推荐

  1. 抓鼠标的猫(Win32实现,Codeblocks+GCC编译)

    程序效果: 猫的眼睛一直跟着鼠标移动: 鼠标经过猫的右脚附近时,猫会抓住鼠标.(未使用Hook) 代码: //main.cpp 1 #include <windows.h> #includ ...

  2. spring mvc+ spring +mybatis

    首先,修改web.xml,添加配置文件路由以及格式过滤 <?xml version="1.0" encoding="UTF-8"?> <web ...

  3. c#获取下载路径

    Request.ApplicationPath  返回/或者iis下目录.如果个人网站是在iis网站下面新建的目录aaa,返回如:/aaa Request.Url.Authority  返回域名和端口 ...

  4. Js前端代码异常监控

    window.onerror = function(msg,url,line,col,error){ //没有URL不上报!上报也不知道错误 if (msg != "Script error ...

  5. 树莓派Odroid等卡片式电脑上搭建NAS教程系列6-miniDLNA

    目录: 1. 树莓派Odroid等卡片式电脑上搭建NAS教程系列1-Ubuntu系统安装 2. 树莓派Odroid等卡片式电脑上搭建NAS教程系列2-SSH连接访问 3. 树莓派Odroid等卡片式电 ...

  6. 微信小程序之ES6与事项助手

    由于官方IDE更新到了0.11.112301版本,移除了对Promise的支持,造成事项助手不能正常运行,解决此问题,在项目中引入第三方兼容库Bluebird支持Promise,代码已经整合到项目代码 ...

  7. 为什么print在python3中变成了函数?

    转自:http://www.codingpy.com/article/why-print-became-a-function-in-python-3/ 在Python 2中,print是一个语句(st ...

  8. 【转】通过自定义的URL Scheme启动你的App

    http://blog.csdn.net/ba_jie/article/details/6884818原文地址:http://iphonedevelopertips.com/cocoa/launchi ...

  9. eclipse关闭编译时不必要的校验

  10. cocos2d-x打飞机实例总结(一):程序入口分析和AppDelegate,Application,ApplicationProtocol三个类的分析

    首先,是个敲代码的,基本上都知道程序的入口是main函数,显然,就算在cocos2d-x框架中也一样 我们看看main函数做了什么 #include "main.h" #inclu ...