开发时以敏捷为原则,但基本的规范必须遵守,程序要注重可读性,不要有太多“个性化”的代码!
为了方便更快入门,这里提取重点说明如下:
1、缩进用4个空格代替制表符,以便于不同环境下有更好的兼容性。
2、大括号应该要统一换行,而不要用java个'{'在同一行的那种风格。
(可允许少于三行的代码块使用这种风格)
如:
if() {
...
}
function test()
{
...
}
3、变量、成员函数、类名、表名、字段名等命名用下划线分隔法,并且全用小写字母。
如:open_account()、$acc_users
4、文件命名规范:
lib_ 函数库 (存放在 /library)
cls_ 框架基础类文件 (存放在 /library)
pub_ 项目公共接口类 (存放在 /library)
mod_ 应用目录私有模型类 (存放在 appdir/model)
ctl_ 应用目录控制器类 (存放在 appdir/control)
5、模板文件命名方式为:appdir/(ctl name).(action name).tpl
其中 ct=index 的 index 可以省缺
如:
templates/template/index.tpl
templates/template/admin/index.index.tpl
templates/template/admin/archives.add.tpl
6、开发时使用严格模式,重点需要注意下面几点:
(1)、严禁变量没有赋值就直接使用;
(2)、字符串中使用变量应该用{}括起来,如:$str = "你是:{$type}?";
(3)、对于没有内部使用变量的字符串尽量用 '' 表示,表示数组元素的字符串,必须用 '' 括起来。
如: $str = '我是普通字符串!'; $names['tom'] = '汤姆';
(4)、模型类尽量偏向使用静态方法的原则,使程序简单易读(对于逻辑极明显的类可例外,一般是库或第三方的库才允许使用动态对象)。
7、关于源码编码问题需特别注意的是: 公司的项目都是用utf-8编码的,由于php无法处理带bom的源码,
所以务必把源码保存为utf-8无bom的格式,以免输出多余的头导致出错!
8、关于在控制器使用私有方法 原则上,控制器类是不放私有逻辑的,但有时为了简便起见,也允许放不
公用的简单逻辑代码,这种代码函数名用 _ 开头,如:function _test_username(){ ... },建议模型类里的
私有方法也用这种方式书写,这样用不同编辑器读代码时都能更简便的识别整个类的情况 。
9、代码安全务必注意事项:
(1)、凡是where查询语句里的变量,务必加引号,符合某种类型的,就必须按某种类型预先过虑;
(2)、insert、update类语句,如果不是使用lurd类,必须要进行操作前对所有数据安全性进行检测;
(3)、凡是可能直接向页面输出的内容,必须考虑屏蔽script、iframe、meta等,以免产生xss跨站漏洞;
(4)、涉及文件上传的,必须多次详细进行检查,确定漏洞存在可能性。
|