培养自己的php编码规范
《PHP实例:培养自己的php编码规范》要点: 为什么我们要培养本身的编码规范?PHP实例 我们写代码的时候,一个好的编码规范,对我们来说能够起到很多意向不到的效果.至少会有一下的好处: 1、提高我们的编码效率.整齐划一的代码便利我们进行复制粘贴嘛! 编码规范包括两大块,代码规范和注释规范PHP实例 其实我们所写的php脚本,其实也就是由两大块组成的,即对代码的书写、对代码的注释!不同的框架,甚至不同的公司,对这方面都会有所不同,这里只是已将之言,仅仅是对本身的书写规范进行一个总结!希望能对其他的朋友以启示PHP实例 1、代码的书写规范PHP实例 文件夹的命名: 文件夹同一使用小写字母.如存放控制器的文件夹,直接命名为controller即可PHP实例 文件的命名: 如果是类文件的话,那么文件的命名应该同类名称坚持一致,统一使用大驼峰.如Session.class.php,对应类名称为Session, 类名称的命名: 类名称同一使用大驼峰,Cookie类PHP实例 办法名的命名: 统一使用小驼峰,一般使用 动词 + 名次 的形式来描述该办法的功能,如sendMessage,发送短信. public getUserName() protected _getTotalAmount() private _setBlanceAmount() 变量的命名规范: 关于变量,我们必要多说几点: public $startPosition = 1; protected $_salaryAmount =1000; private $_sex = 'formale'; 2、如果是常量的话,统一使用大写,中间使用下划线进行分割.PHP实例 define('CURRENT_SCRIPT','index.php'); const TRANSACTION_TYPE = 'income'; 3、全局变量,使用大驼峰,前缀加上 _,所有的单词首字母大写.因为知道一个变量的作用域是非常重要的,所以局部变量和全局变量应该很明显的进行分开!PHP实例 $_System_Config;PHP实例 $_Root_Path; 缩进符 关于编码的缩进符号,我们统一使用制表符缩进!也许有的人会问为什么不适用空格缩进的呢? 运算符号 所有的两元运算符号,都应该前后使用空格进行 $name = 'zero'; $age > 18 ? 'adult' : 'children'; 常见的流程语句规划 我们约定,所有的流程语句的花括号都单独占据一行.理由:如果遇到较为复杂的业务逻辑,花括号会出现很多的嵌套,这样一来我们会混淆个个对应的花括号! 1、分支语句PHP实例 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、循环语句PHP实例 while($condition) { statesments......; } foreach($arrayList as $arrayKey => $arrayItem) { states......; } do { statements......; } while($condition) for($start; condition; changenumber) { statements......; } 2、注释的书写规范PHP实例 很多人说好的代码是不需要注释的,其实,个人认为这是一句很扯淡的话(也可能他是对的,除非整个团队就他一个人,他经办了一切,不用看别人的代码).PHP实例 个人的观点是:多写注释,无论是对团队的其他人,还是对本身都是非常友好的!PHP实例 根据个人的经验来看,注释至少有以下几个作用: 1、有利于提高代码的可读性,毕竟读你的注释要比读你的代码要容易的多! 代码注释的种类 1、块注释 2、行注释 实战的案例 关于phpdocumentor语法的具体使用细节,这里就不多说了,官网上说的再清楚不过了PHP实例
从上面的例子中我们可以看一下代码的布局大致是怎么回事,但是还必要我们在实践中慢慢摸索PHP实例 下面附上一些php的编程规范,给大家参考下PHP实例 一、文件标记:PHP实例 ?1.所有php文件,其代码标记均采用完整php标签,不建议使用短标签(短标签容易和xml混淆,php从5.4开始默认不支持短标记).PHP实例 ?2.对于只有php的代码文件,建议省略结尾处的‘?>'.这是为了防止多余的空格或其他字符影??????? 响到代码.PHP实例 二、文件和目录命名PHP实例 ?1.程序文件名和目录名均采用有意义的英文命名,不使用拼音和无意义的字母,只允许出现字母、数字、下划线和中划线字? 符,同时必需以‘.php'结尾(模板文件除外),多个词间使用驼峰命名法.PHP实例 ??? 例://类统一采用:DemoTest.class.phpPHP实例 ????????? //接口统一采用:DemoTest.interface.phpPHP实例 ????????? //其他依照各自的方式:demoTest.{style}.phpPHP实例 三、文件目录结构PHP实例 规范的目录结构有助于团队协作开发和后期维护.PHP实例 ――app??????????? //独立的应用PHP实例 ――class????????? //单个的类文件,共用的类文件PHP实例 ――conf/inc??? //配置文件或目录PHP实例 ――data????????? //数据文件或目录PHP实例 ――doc?????????? //程序相关文档PHP实例 ――htdocs?????? //document_rootPHP实例 ――images?????? //所有图片文件存放路径PHP实例 ――css??????????? //css文件PHP实例 ――js?????????????? //js文件PHP实例 ――lib????????????? //共用类库PHP实例 ――template??? //模板文件PHP实例 ――tmp??????????? //临时文件目录PHP实例 ――cache??? //缓存文件PHP实例 ――session? //SESSION文件PHP实例 ――template_c??? //编译后的模板文件PHP实例 ――otherPHP实例 ――upload????? //上传文件PHP实例 ――manage??? //后台管理文件目录PHP实例 四、命名规范PHP实例 1.变量命名:php中变量区分大小写,一个有效的变量名由数字、字母或下划线开头,后面跟任意数量的字母、数字、下划线.PHP实例 ??? a)程序整体以驼峰命名法,以小写字母开始,同时命名要有意义.(function displayName())PHP实例 ??? b)PHP全局变量键值两边都有‘_',中间用驼峰命名法命名.($_GLOBAL['_beginTime_'])PHP实例 ??? c)普通变量整体采用驼峰命名法,建议在变量前加表示类型的前缀.不确定类型的以大写字符开头.PHP实例 ??? d)函数名要尽量有意义,尽量缩写.PHP实例 2.类及接口命名:PHP实例 ??? a)以大写字母开头.PHP实例 ??? b)多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写.PHP实例 ??? c)类名与类文件名坚持一致.PHP实例 ??? d)程序中所有的类名唯一.PHP实例 ??? e)抽象类应以Abstract开头.PHP实例 ??? 接口命名规则:PHP实例 ??????? i)采用和类相同的命名规则,但在其命名前加‘i'字符,表示接口.PHP实例 ??????? ii)尽量坚持和实现它的类名一致.PHP实例 3.数据库命名:在数据库相关命名中,一律不出现大写.PHP实例 ??? a)表名均使用小写字母.PHP实例 ??? b)表名使用同一的前缀且前缀不能为空.PHP实例 ??? c)对于多个单词组成的表名,使用‘_'间隔.PHP实例 ??? d)表字段命名规则.PHP实例 ??????????? i)全部使用小写字母.PHP实例 ??????????? ii)多个单词不用下划线分割.PHP实例 ??????????? iii)给常用字段加上表名首字母做前缀.PHP实例 ??????????? iv)避免使用关键字和保存字.PHP实例 五、注释规范PHP实例 1.程序注释:写在代码前面而不是后面,单行代码依照习惯写在代码尾部;大段注释采用/**/的方式,通常为文件或函数的顶部,代码内部使用'//';注释不宜太多;代码注释应该描述为什么而不是做什么,给代码阅读者提供最主要的信息.PHP实例 2.文件注释:文件注释一般放在文件的顶部,包含本程序的描述、作者、项目名称、文件名称、时间日期、版本信息、重要的使用说明(类的调用,注意事项等).版本更改要修改版本号,并加上mofify注释.PHP实例 3.类和接口注释:依照一般的习惯,一个文件只包含一个类.PHP实例 4.办法和函数注释:办法和函数的注释写在前面,通常需要表明信息的主要可见性、参数类型和返回值类型.PHP实例 ??? /**PHP实例 ??? *??? 连接数据库PHP实例 ??? *??? @param string $dbhost??? 数据库服务器地址PHP实例 ??? *??? @param string $dbuser??? 数据库用户名PHP实例 ??? *??? @param string $dbpwd??? 数据库暗码PHP实例 ??? */PHP实例 六、代码风格PHP实例 1.缩进和空格:使用4个空格做为缩进,不使用Tab键;变量赋值时,等号两边留出空格.($url = '$_GET['url']';)PHP实例 2.语句断行:尽量保证程序语句一行即一句;尽量不要使一行的代码过长,80个字符以内;如果一行的代码太长,请使用类似于‘.='方式断行连接;执行数据库的sql语句操作时,尽量不要再函数内写sql语句,而先用变量定义sql语句,然后在执行操作的函数中调用定义的变量.PHP实例 3.更好的习惯:在代码中使用下面列举的办法,可以使代码更优雅.PHP实例 ??????? 1):多使用php中已经存在的常量,而不要本身定义.PHP实例 ??????????? 例://换行PHP实例 ????????????????? echo $msg."rn";PHP实例 ????????????????? echo $msg,PHP_EOL;PHP实例 ??????????????? php中PHP_EOL是一个预定义常量,表示一行结束,随着所使用系统不同,使用PHP_EOL代码可移植性更高PHP实例 ??????? 2):在echo中使用逗号做连接符,比用‘.'做连接符代码更美观.PHP实例 ??????? 3):单引号的效率高于双引号,但二者在使用上有区别,学会使用printf函数.PHP实例 ??????????? 例://echoPHP实例 ??????????????? echo? '每个'.$scholl.'大约有'.floor($avg).'个学生';PHP实例 ????????????????? //printfPHP实例 ?????????????? $format = '每个%s大于有$d个学生';PHP实例 ??????????????? printf($format,$school,$avg);PHP实例 ??????? 4)? :详细的注释PHP实例 ??????? 5):不要 滥用语法糖,语法糖便是语言中的潜规则,即不具备普遍代表性的语法.PHP实例 欢迎参与《PHP实例:培养自己的php编码规范》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |