文档介绍:-
. z.
下面是根据经验整理的PHP编码规,可以用作给大家的例和参考,根据需要进行取舍和修改!
目录
1 编写目的
2 整体要求
3 安全规
包含文件
,要考虑增加访问控制
logs
确保用户的信息没有记在log中(例如:用户的密码)
确保对关键的用户操作保存了完整的用户访问记录
https
对敏感数据的传输要采用https
一些针对PHP的规则设置 register_globals = off (Y!PHP 已经禁止了register_globals,如果你使用Y!PHP可以不考虑这项设置)
设置 error_reporting = E_ALL (Y!PHP 的缺省设置),并且要修正所有的error和warning
将实际的操作放在被引用的文件中。把引用文件放到不可以被直接浏览的目录下
其它处理规则
对输入参数值进行转义处理页面接到参数需要SQL操作,这时候需要做转义,尤其需要注意”;”。如:$a = ” Let’s go ” ;
$sql = "Insert into tmp(col) values(’$a’)” ;
这种情况出现错误的不确定性。
操作大HTML文本很多时候需要存放一大段HTML文本供页面使用,象用户定制页头页脚等。需要剔除脚本标记,避免执行恶意php代码。转换”<">"号,保证代码完整。
4 编码规
命名规制定统一的命名规对于项目开发来说非常重要,不但可以养成程序员一个良好的开发习惯,还能增加程序的可读性、可移植性和可重用性,还能很好的提高项目开发的效率。
变量命名变量命名分为普通变量、静态变量、局部变量、全局变量、Session变量等面的命名规则。
-
. z.
普通变量普通变量命名遵循以下规则:
a.所有字母都使用小写;
b.对于一个变量使用多个单词的,使用’_'作为每个词的间隔。例如:$base_dir、$red_rose_price等
静态变量静态变量命名遵循以下规则:
a.静态变量使用小写的s_开头;
b.静态变量所有字母都使用小写;
c.多个单词组成的变量名使用’_'作为每个词的间隔。例子:$s_base_dir、$s_red_rose_prise等。
局部变量局部变量命名遵循以下规则:
a.所有字母使用小写;
b.变量使用’_'开头;
c.多个单词组成的局部变量名使用’_'作为每个词间的间隔。例子:$_base_dir、$_red_rose_price等。
全局变量全局变量应该带前缀’g',知道一个变量的作用域是非常重要的。例如
global $gLOG_LEVEL;
global $gLOG_PATH;
全局常量全局变量命名遵循以下规则:
a.所有字母使用大写
b.全局变量多个单词间使用’_'作为间隔。例子:$BASE_DIR、$RED_ROSE_PRICE等。
session变量
session变量命名遵循以下规则:
a.所有字母使用大写;
b. session变量名使用’S_’开头;
c.多个单词间使用’_'间隔。例子:$S_BASE_DIR、$S_RED_ROSE_PRICE等。
类
php中类命名遵循以下规则:
a.以大写字母开头;
b.多个单词组成的变量名,单词之间不用间隔,各个单词首字母大写。例子:class MyClass 或class DbOracle等。
法或函数法或函数命名遵循以下规则:
a.首字母小写;
b.多个单词间不使用间隔,除第一个单词外,其他单词首字母大写。例子:function myFunction ()或function myDbOracle ()等。
-
. z.
缩写词当变量名或者其他命名中遇到缩写词时,参照具体的命名规则,而不采用缩写词原来的全部大写的式。例子:function myPear(不是myPEAR) functio getHtmlSource(不是getHTMLSource)。
数据库表名数据库表名命名遵循以下规:
a.表名均使用小写字母;
b.对于普通数据表,使用_t结尾;
c.对于视图,使用_v结尾;
d.对于多个单词组成的表名,使用_间隔;例子:user_info_t和book_store_v等
.