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';