php编码规范(未完待续)
标准化的重要性和好处
程序员可以了解任何代码,弄清程序的状况
新人可以很快的适应环境
防止新接触PHP的人出于节省时间的需要,自创一套风格并养成终生的习惯
防止新接触PHP的人一次次的犯同样的错误
在一致的环境下,人们可以减少犯错的机会
一、代码标记
1、<?php ?>
2、<? ?> // 需要开记php.ini 的 short_open_tag
选择使用第1种标记
二、注释
尽可能的写上注释,哪怕多花一些时间。
三、书写规则
//每个缩进的单位约定是一个TAB(4个空白字符宽度),注意下面的写法,语句或关键词与括号之间的空格 if($a==1) { echo 1; } else { echo 0; }
四、命名及书写
1、文件命名
//类文件
xxx.class.php
//函数文件
xxx.func.php
//包含文件
xxx.inc.php
//以上全部采用英文小写字母
2、常量命令
//常量名所有字母都采用英文大写 define('DEBUG', FALSE); define('PROJECT_ROOT', substr(dirname(__FILE__), 0, -7));
3、变量命令和函数命令(或类方法命令)
//全部采用英文小写字母命名,单词之间统一使用下划线分隔 function user_add($username) { $name = $username; }
4、文件包含
包含调用程序文件,统一使用require_once,以避免可能的重复包含问题
包含和调用代码中,须以'./'或PROJECT_ROOT.'/'开头,应避免直接写程序文件名(例如:require_once 'x.php')的做法
require_once PROJECT_ROOT.'./include/common.inc.php';
五、安全
//数字型参数传递,参数传递尽可能的使用数字 $page = intval($_GET['page']); //字符串型参数传递 $allow_dos = array('add','remove','modify','view'); if( in_array($_GET['do'],$allow_dos)) { // Do something } //mysql 查询 $sql = "select * from user where username=".mysql_escape_string($_POST['username']); //mysql入库 $username = addslashes($_POST['username']); //防止xss跨站脚本攻击 echo htmlspecialchars($_POST['message']);
六、引号的使用
变量、常量、数组下标、包含文件尽可能的使用单引号,单引号里面的内容不会被解析,效率会更高
$array['user'] = 'James';